Wednesday, 23 November 2011

SSIS Script ERROR -The task is configured to pre-compile the script, but binary code is not found

If you’re working on SSIS with SqlServer 2005 version then you may encounter this error while working with Script Task. The Error message would be like -

“Error at Script Task: The task is configured to pre-compile the script, but binary code is not found. Please visit the IDE in Script Task Editor by clicking Design Script button to cause binary code to be generated.”

And you package will not run.

Root cause reported by Microsoft support team -

This problem occurs because of a recent change in the common language runtime (CLR) workstation runtime for builds of the Microsoft .NET Framework 2.0. The CLR workstation runtime is named Mscorwks.dll. The change introduces a compatibility problem for the Microsoft Visual Basic runtime engine that VSA uses. The Visual Basic runtime engine is named Vsavb7rt.dll. The problem prevents assemblies from being created correctly during the macro compilation operation. Because of this problem, existing packages that contain compiled scripts do not run.

And Here is the fix for this -

Download the hotfix package now.

This fix updates the SQL Server Integration Services 2005 (SSIS) scripting environment to work with a newly-released patch for a security vulnerability in the .Net Framework 2.0. Without this fix, any VB.Net scripts (Script Task or Script Component) in your SSIS packages may not execute, or work at design-time as expected.

After searching about the error I collected the above information to resolve the error. Hope this was helpful.

Free ebook on MVC 3 Razor view engine by Abhimanyu

The youngest blogger and my friend Abhimanyu kumar vatsa who is student just released his first book on MVC 3 Razor View Engine. I appreciate the effort and contribution towards the Microsoft community to add another knowledge resource for free.
Great work Abhi!! Keep the good spirit up Smile.
Download E-Book

In this e-book you will learn all about Razor View Engine introduced in MVC 3. I will walk through the simple steps and even I will keep my ideas simple so that you can understand the Razor View Engine better. My aim through this e-book is to teach Razor so I am going to play a little loose with rest all.

Tuesday, 15 November 2011

Redgate SQL Search fastest way to find your DB objects

Life is easy when you are equipped with right tools. Recently I found one more tool (you can call me Tool Maniac) “SQL Search” from RedGate for Sql Server and the fun is Its a free utility, you don’t have to pay for your comfort. Its gonna reduce your time to search you DB Object through manual navigation or by Sp_help/SP_helptext then copy the text and open it new query window.

Very first go and download the new tool from - http://www.red-gate.com/products/sql-development/sql-search/

Installation steps are as easy as click on Next –> Next and Finish.

Here is some cool feature I’m gonna show today -

After installation of the tool open the SQLServer management studio. Now you’ll see a new “SQL search” button on tool ribbon.

Now start searching Select your Instance, select DB select type of object you want to search blah! blah! blah!

The coolest feature I found is you can directly navigate to the db object in the Object Explorer.

Other perspectives -

  • Impact Analysis
    You want to rename one of your table columns but aren't sure what stored procedures reference it. Using SQL Search, you can search for the column name and find all the stored procedures where it is used.
  • Work faster
    Finding anything in the SSMS object tree requires a lot of clicking. Using SQL Search, you can press the shortcut combo, start typing the name, and jump right there.
  • Make your life easier
    You need to find stored procedures you've not yet finished writing. Using SQL Search, you can search for stored procedures containing the text 'TODO'.
  • Increase efficiency, reduce errors
    You are a DBA, and developers keep using 'SELECT *' in their views and stored procedures. You want to find all these and replace them with a correct list of columns to improve performance and prevent future bugs. Using SQL Search, you can look for 'SELECT *' in the text of stored procedures and views.

Now what are you thinking go ahead and save time for some other stuff you’re running on deadlines buddy.

Smile

Thursday, 10 November 2011

CSharp Application commonly used terms

There are few terms being used when you deal with project development with Microsoft .Net technology. If you are a Team Lead or a senior developer or simply a beginner you may want to know about these terms which are extensively being used when working on project of .Net.

Application — refers to an assembly that has an entry point . When an application is run, a new application domain is created. Several different instantiations of an application can exist on the same machine at the same time, and each has its own application domain.


Application vs. program
Note that an application is just an assembly with an entry point, and an application may be used as a class library by another application. Common usage often has the terms application and program interchangeable, but there is a defined difference in C#; see the definition of program in the following text.
Application domain — an entity that enables application isolation by acting as a container for application state. An application domain acts as a container and boundary for the types defined in the application and the class libraries it uses. Types loaded into one application domain are distinct from the same type loaded into another application domain, and instances of objects are not directly shared between application domains. For instance, each application domain has its own copy of static variables for these types, and a static constructor for a type is run at most once per application domain. Implementations are free to provide implementation-specific policy or mechanisms for the creation and destruction of application domains.
Argument — an expression in the comma-separated list bounded by the parentheses in a
method or instance constructor call expression or bounded by the square brackets in an element access expression. It is also known as an actual argument.
Assembly — refers to one or more files that are output by the compiler as a result of program compilation. An assembly is a configured set of loadable code modules and other resources that together implement a unit of functionality. An assembly can contain types, the executable code used to implement these types, and references to other assemblies. The physical representation of an assembly is not defined by this specification. Essentially, an assembly is the output of the compiler.
Assembly vs. class files
It is interesting to compare the granularity of Java and C# compiler outputs. A C# compiler will probably emit an assembly, a Java compiler a collection of class files. This emphasizes an important C# design goal—to support components rather than individual types.
Behavior — external appearance or action.
Behavior, implementation-defined — unspecified behavior where each implementation documents how the choice is made.
Behavior, undefined — behavior, upon use of a non-portable or erroneous construct or of erroneous data, for which this International Standard imposes no requirements. [Possible handling of undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message)].
Behavior, unspecified — behavior where this International Standard provides two or more possibilities and imposes no further requirements on which is chosen in any instance.
Class library — refers to an assembly that can be used by other assemblies. Use of a class library does not cause the creation of a new application domain. Instead, a class library is loaded into the application domain that uses it. For instance, when an application uses a class library, that class library is loaded into the application domain for that application. If an application uses a class library A that itself uses a class library B, then both A and B are loaded into the application domain for the application.
Accessing class libraries
The mechanism by which class libraries are made available to the current compilation is not defined by this specification.
Diagnostic message — a message belonging to an implementation-defined subset of the implementation’s output messages.
Error, compile-time — an error reported during program translation.
Exception — an error condition that is outside the ordinary expected behavior.
Implementation — particular set of software (running in a particular translation environment
under particular control options) that performs translation of programs for, and supports execution of methods in, a particular execution environment.
Namespace — a logical organizational system that provides a way of presenting program elements that are exposed to other programs.
Parameter — a variable declared as part of a method, instance constructor, operator, or indexer definition, which acquires a value on entry to that function member. It is also known as a formal parameter.
Program — refers to one or more source files that are presented to the compiler. Essentially,  a program is the input to the compiler.
Programs, assemblies, applications and class libraries
This definition of program differs from common usage. In C#, a program is just the input to
the compiler. The output of the compiler is an assembly, which is either an application or a
class library.
Program, valid — a C# program constructed according to the syntax rules and diagnosable semantic rules.
Program instantiation — the execution of an application.
Recommended practice — specification that is strongly recommended as being aligned with the intent of the standard, but that might be impractical for some implementations.
Source file — an ordered sequence of Unicode characters. Source files typically have a one-to one correspondence with files in a file system, but this correspondence is not required.
Unsafe code — code that is permitted to perform such lower-level operations as declaring and operating on pointers, performing conversions between pointers and integral types, and taking the address of variables. Such operations provide functionality such as permitting interfacing with the underlying operating system, accessing a memory-mapped device, or implementing a time-critical algorithm.
Warning, compile-time — an informational message reported during program translation, that is intended to identify a potentially questionable usage of a program element.