SSIS ScriptTask hangs on Debug - ssis

New to SSIS packages. I am working with an SSIS Package in Visual Studio 2013 after installing SQL Server Data Tools for Visual Studio 2013
https://www.microsoft.com/en-us/download/details.aspx?id=42313
When I edit the ScriptTask, it opens Visual Studio 2012. I place a breakpoint on the line of code I want to hit in the Main() method. The ScriptTask's EntryPoint is also set to Main().
When I debug the SSIS package, it gets to the ScriptTask and opens Visual Studio 2012 and that's it. It never hits my breakpoint. It just hangs. Sometimes I get a modal window that says something about the window will close when the debugging has stopped. This window has a single button on it that says "Stop Debugging".
Does anyone know what is happening here? How can I get it to hit the breakpoint, so I can debug my code?
Thanks

To be able to have the debugger hit your breakpoint, you should change your SSIS Project's "Run64BitRuntime" propery's value from its default True to False.
But that's not enough. Because your "Script Task" is still compiled as 64bit. You should edit your Script Task with "Edit Script" and save it again. This will help your script task code to be compiled as 32bit.
Credits:
http://blogs.msdn.com/b/farukcelik/archive/2010/03/17/why-the-breakpoints-that-i-set-in-my-script-task-not-script-component-in-the-data-flow-never-hits.aspx

Related

Autorun gulp tasks in Visual Studio Code when opening workspace

Every time I open my project's workspace in Visual Studio Code, I have to manually press F1, write 'run task' and select my startup task to rebuild source code and initiate the debug web server/source-file watchers.
Is there a way to have Visual Studio Code auto-run this task for me when I open a workspace?
Like a 'default' task (seemed to work with Task Runner in Visual Studio 201x). Maybe there is some other naming-convention in Visual Studio Code that I'm not aware of (I've Googled a lot).
There is a plugin called Blade Runner which does this. Only problem you need to stick to the default run build task. You can run different tasks inside the default one.

"The binary code for the script is not found"

I used the script found here
... And every time that I generate this dynamic package, it needs to open the script task and click "Ok" because the "The binary code for the script is not found." error aways appears. Is there a way to solve this without BIDS ? Thanks and sorry my bad english.
I got this error when a SSISDB was upgraded to 2016 from 2012 and the package was not re-deployed using newer visual studio with project set to deploy to SQL Server 2016 in the project deployment properties.
This is often caused to to an error or omission in the code in the script task. If you are certain that the code is correct you can go to the script properties and set the PrecompileiIntoBindaryCode to False, the default is set to true. This is under the Properties or in the Script option of the properties window.
This worked for us
From Project properties, change TargetServerVersion to SQL Server 2019 (Or desired version)
open the .dtsx file for each package in Notepad++ or other text editor
remove the following for each dtsx file (there will be 1 occurence per script component in packages)
<PropertyGroup>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
save the .dtsx file
go back into Visual Studio and rebuild the project file (as well rebuild individual script task)
I just ran into this error, after I changed my package deployment configuration to 2012. In the script some references we no longer linked. I had to reset the version of the .Net framework in the VS script environment, references were now legit, rebuild success.
In Visual Studio 2017, SSIS 2017 solution, had same error on a script task. Compared to another solution with similar process and discovered the issue was the Reference which had an error did not have a path listed for the dll. Removed the reference and added again. This resolved the issues.
Uninstall VS 2015 and SSDT 14.
Re Install VS 2015 and SSDT 14.
Open a new Integration project and import the SSIS project using the ispac file
Open the task having the error
Click On Edit Script.
Then either do this:
In Build tab click on Run code analysis on solution or Build or Clean and then Build
Save All the solution
Close the window
Click on OK in the task window.
OR just click on edit script and then OK button
The error should go off
This is for Visual Studio 2015 Community/SSDT 14
use SSMS V17.8.1 and upgrade your SSISDB and it will work, I tried it.
For me, I found that using string interpolation caused the issue.
For example:
This line caused the error:
command += $"test {property.Name}";
Changing it to this fixed the error:
command += "test " + property.Name;
After changing from VS 2017 to VS 2019, I saw this error in SQL Server / Integration Services Catalog / "My Package" / Validate... These messages are also visible in Standard Reports / All Executions.
My particular error messages were "VS_ISBROKEN" in the SSIS.Pipeline and "The binary code for the script is not found." in my scripting task.
I opened up the scripting task (C#) and changed the project target to x86 instead of None (MSIL), rebuilt it, closed the scripting solution, pressed Ok to keep the script changes, saved, built and deployed.
That worked for me.
Addendum:
It turns out that I was deploying a single package using VS2019 while the original Project was deployed using VS2017.
I think that the two deployments are not 100% compatible, and recommend that users either deploy an entire project, or deploy a package update using the same version as was used for the initial release.
You should probably ignore my suggestion above about changing project target.
Check your references, make sure all external references are added to the server's GAC.
For adding your dll(for example csvhelper.dll) in GAC you can use the following command in cmd.
C:\test>"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7 Tools\gacutil.exe" -i csvhelper.dll
**Put your dll in a folder (for example in test folder)
**Pay attention which version of .Netframework you have(Here I used .net4.7)

how to remove the pop window,which appears when ever trying to open a package in ssis

An ssis 2005 package has been upgraded into 2008.But everytime i open this 2008 package
a popup window opens( "welcome to ssis package upgradation wizard").Any sugestion how to disable it
sometimes ssis package break.
in this case I prefere to recreate the ssis from new, and copy/past all task to the new

Selenium WebDriver + ChromeDriver + Jenkins + MSTest

I have a C# .NET unit test project that uses ChromeDriver to run automated UI tests on a web page. This is on Windows 7 64 bit. The tests run fine from within Visual Studio 2010.
I have set up a Jenkins box to run the tests locally (on master), which is a Windows 2008 Server. The tests build, but my MSTest command fails mysteriously:
"c:\program files (x86)\Microsoft Visual Studio
10.0\Common7\IDE\MSTest.exe" /resultsfile:c:\jenkins\jobs\FXO_UI_Tests\workspace\TestResults.TRX
/testcontainer:c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll
/testsettings:c:\jenkins\jobs\FXO_UI_Tests\workspace\FXO.testsettings
With this output:
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading c:\jenkins\jobs\FXO_UI_Tests\workspace\FXO.testsettings...
Loading c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll...
c:\jenkins\jobs\FXO_UI_Tests\workspace\bin\Debug\Calculators.FXOptions2.Automation2.dll
The file exists.
c:\jenkins\jobs\FXO_UI_Tests\workspace>exit 1
Build step 'Execute Windows batch command' marked build as failure
The irritating part is that the same MSTest command, pasted in a command window, runs perfectly fine. I dont see "The file exists" when I run manually.
I have tried running Jenkins as a service, but it currently is running standalone in a logged-in user account. The same Jenkins set up can open Chrome.exe so I can't understand why the command just ends.
Please help!
Found it! "The file exists." was the key. Turns out that the TEMP folder that the Jenkins uses is somehow different than the logged in user (despite being the same user). And that folder was absolutely full of every file name possible. Clearing out the temp folder fixed it.

Visual Studio 2012 JS/HTML5 Win 8 newly created project crashes

My project kept crashing after being swiped-down minimized with a code 1.
Debug Output:
'WWAHost.exe' (Script): Loaded 'Script Code (MSAppHost/1.0)'. The
program '[7048] WWAHost.exe' has exited with code 1 (0x1).
I couldn't find any problematic function so as a test I created a brand new project and just built and ran it. It crashed with the same code perhaps 30 - 45 seconds after being swiped down.
I searched here, Google, and the MSDN and couldn't find any info.
Any pointers?
Thanks.
Swiping down is actually closing the app, not minimizing it, and Visual Studio is just telling you that the app's process was terminated (due to user/system command) with the exit status.
That message is expected behavior and no cause for concern, unless you also see a runtime error before that exit message.
BTW, you can debug suspend & terminate events from Visual Studio while the app is running via the Debug Locations toolbar or the Debug menu. In some cases, you might write code to react to being suspended/terminated (e.g. to save state/data). There's more on Windows Store app lifecycles if you're interested.
try go to your project folder / bin / and remove the debug folder and then run your project again.