Execute Process Task Doesnt Display Text | SSIS - ssis

I have a Foreach Container in which I have a Execute Process Task . I have many Console.WriteLine() statements in it.
The 3 images highlighted in the image can be used to get output from .exe .
I declared a variable in package to get error message from Execute Process Task by using StandardErrorVariable .
The problem is the Screen Fades Out, it doesnt display anything on screen , this happens not only when i use StandardErrorVariable but other properties highlighted in figure.
Also even though we get values into variables , the lock on them is not getting released so i am unable to use them anywhere in the package.
Also it will be helpful if you can redirect me to exact usage of all 3 variables highlighted

Does this happen when the package is run from a server catalog as well as visual studios? If you add a breakpoint, all vars will show up under the 'locals' window.

Related

I'm new to SSIS- ForEach Loop with Data Flow Task won't run completely. Data Flow Task runs fine for one file. What am I missing?

I have created a sql table to hold records; I've created an SSIS query with ForEach Loop to go through flat files and take information from them and load them into a sql table. I have created my variables, made sure "DelayValidation" is set to True.
The package (Data Flow) runs separately fine with no errors. When I move it to the ForEach Loop, it runs fine pulling on the one file (again).
This image is of the variables I have created :
But will not go on to the next file. I have researched on the internet and watched MULTIPLE videos and can't seem to find where the issue lies. I hope I have given enough information. I have tried to debug and that does not show anything.
Progress screen after running the whole package when Started Debugging with ForEach Loop and Data Flow Task :
Screen shot of the data flow task that successfully completed outside of the ForEach Loop:
Screen shot of the sql table to show one record came from the task in ssis :
Screen shot of the txt files to be included in the package and added to the sql table.
I don't enough about the coding to view the code and place a break. I'd be happy to try if someone could direct me.
The last picture is a detail screen shot of the variables - what they were created for and expressions.

DTS Package unable to edit parameters

I have a DTS package where I am getting a very odd problem.
If I open the solution, when I look at a package, I can view and edit the parameter list.
If I open the same file, just as a standalone file, then although I can see everything else. The parameter list comes back blank.
Does anyone have a solution?
Some extra information as per request.
If I open the file directly within Visual Studio (2012 in this case) and view the parameter list, I get the following:
When I open the same file as part of a project, I get the following:
No errors are reported, but when I open the file stand alone I can no longer see the parameters.
Ok so it seems you want to edit the design time values of a package's parameters outside of the context of an SSIS project. As noted with your screen shots, if you open an SSIS package that has package parameters in it, they are not displayed. You get the same behavior if you click on the Parameter tab for an SSIS project that is using the classic Package deployment model.
This appears to be by design but you're welcome to open a Connect item to see if the product team will change this behaviour.
In the mean time, I see two approaches. The first is to hand edit the XML. Right click, view code and you'll find a section like the following. Change the value of your ParameterValue section and you'll be right as rain. The most important thing of course is that prior to mucking about with XML is to ensure you have a known, safe, recoverable version of the package - preferably in some sort of version control.
<DTS:PackageParameters>
<DTS:PackageParameter
DTS:CreationName=""
DTS:DataType="3"
DTS:DTSID="{C6988EC3-F273-4889-83B8-02A4AC8F6E9A}"
DTS:ObjectName="MyParameter">
<DTS:Property
DTS:DataType="3"
DTS:Name="ParameterValue">0</DTS:Property>
</DTS:PackageParameter>
</DTS:PackageParameters>
A different approach, and one that I would likely employ is to not care about what the package has as a value on disk. Instead, I'd focus on the value after deployment.
Consider the following code, it applies a configuration in the SSISDB that ensures the value of MyParamter is always 1. At rest, the value is 0 but by applying a configuration, I know that when this package runs in the catalog, it's going to use the configured value and not the design-time value. This approach is also generally going to be more accepted in places that are subject to change controls like SOX/SAS70/HIPPA/PCI etc
DECLARE #var int = 1;
EXEC SSISDB.catalog.set_object_parameter_value
#object_type = 30
, #parameter_name = N'MyParameter'
, #object_name = N'Package.dtsx'
, #folder_name = N'Deploy'
, #project_name = N'SO_ProjectDeploymentModel'
, #value_type = V
, #parameter_value = #var;

Why SSIS logging is not working in a script component / script task when inside Foreach container

I have an SSIS package that has a ForEach container (to loop through multiple files).
Outside the loop I also have a script task where I'm using Dts.Log() function to log some information. It works fine.
Inside the loop I have several tasks such as another script task and dataflow task. I'm using Dts.Log() in another script task as well but it logs nothing. I've checked all logging settings and they seems to be right.
Inside the dataflow I also have one script component where I'm trying to use that Log() function with no success. Once again I've checked my setting and they seem to be correctly set (according to this one SSIS: Why is this not logging?).
I'm able to log inside the loop by raising events though (FireInformation http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.idtscomponentevents.fireinformation(v=sql.105).aspx)
I remember reading somewhere that there are some restrictions in debugging when inside the foreach container. So is there some sort of things in Logging as well or is this something else?
I can't provide any code samples (at least not right now) so we have to keep the discussion at the certain level.

How can i stop the package with more than 1 dataflow if the first fail?

I've a SSIS package with more than 1 data Flow, If the 1st Dataflow fail I don't want to execute the follows. How can I stop the execution of the package. I tried using red arrow and script task doing nothing but I it doesn't work. the others dataflows are executed as well getting all the errors to my .net client. I need only the error for the Data flow that fail.
Anyone know how can I get it
Thanks
You can set MaximumErrorCount To 1 on your data flow task, but this is the default value. Same goes for the value at package level, if you set this to 1, the package terminates with error if you task fails.
But as i said, these are default values and you shouldn't have anything to do. Do you execute the data flow tasks all together? If you do, build one path which executes all the tasks after another.
You can use the Squence Container and put all the data flow task in it. I have shared the screen shot of the sample, adjust the priority for all the data flow task and put sucess condition for the tasks.

Access 2000 Class Module Terminates Immediately After Initialization

Any idea why this would be happening? I don't get any error inside the Class_Initialize sub, it just jumps straight to the Class_Terminate sub and the object I assign the class to ends up being Nothing.
I don't have Access 2000. See whether it has an error trapping option "Break in Class Module". For Access 2003, that option can be found from the VB editor's main menu: choose Tools->Options, then select the "General" tab on the Options dialog. The radio buttons for the Error Trapping choices are located on the middle right of the dialog.
It's not clear to me whether your class module is throwing an error silently. That option should (I hope) help you expose the error ... if there is one.
If that effort is not useful, think I would next set a break point on the first executable line in Class_Initialize, and then step through the code one line at a time with the F8 key. You can see which lines are executed, and at any time while you're in break mode you can inspect the values of variables by printing them to the Immediate Window ... with Debug.Print YourVariable or the shorter ? YourVariable
A slicker way to monitor your variables is to open the Watches window (from the menu, View->Watch Window), then add variable to it (Debug->Add Watch).
Finally, if those efforts don't lead you to a solution, create a stripped down version of your class module with only the bare minimum code needed to reproduce the problem. Add that code to your question, and also include enough of the calling code to show us how you're attempting to create and use the object instance.