Executing SSIS package gives System.IO.IOException - sql-server

I am trying to execute the package and every time I see the following error. Especially when I execute the data flow task.
Error :
System.IO.IOException: The process cannot access the file
'C:\PPE_OVERRIDES.ispac' because it is being used by another process.
Full Output:
------ Build started: Project: PPE_OVERRIDES, Configuration: Development ------
Build started: SQL Server Integration Services project: Incremental ...
Starting project consistency check ...
Project consistency check completed. The project is consistent.
Error : System.IO.IOException: The process cannot access the file
'C:\PPE_OVERRIDES.ispac' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow outputWindow)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow outputWindow)
Build complete -- 1 errors, 0 warnings
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
How can I fix it. My ispac file is in bin folder. I want to make sure the SsISDB catalog and Visual Studio are not fighting over this location

Based on the following article:
Fix SSIS Error while execution: System.IO.IOException: The process cannot access the file ‘PATH\Project.ispac’ because it is being used by another process.
Possible Solution:
Need to kill the Windows processes (SSIS Debug Host, and SSIS Debug Host (32 bit)) related to SSIS Debug and restart Visaul Studio to address the problem.
Similar Issue links
The process cannot access the file 'ssisproject.ispac' because it is being used by another process.
SSIS: The process cannot access the file ‘*.ispac’ because it is being used by another process
SIS: The process cannot access the file ‘*.ispac’ because it is being used by another process

Every time you start up an instance of SQL Server Manager, you have to go kill the SSIS Debug Host processes. However, I don't think they showed up until I tried to re-execute a package. I might try executing an empty, dummy package, fix the crash, then try again with the real package.

Related

Run ssis package in agent job while both are on separate machines

I am trying to run ssis package through agent jobs. The packages and the sql server are on different machines.
When the agent job tries to run ssis package step the job fails with following error:
Executed as user: Domain\username. Microsoft (R) SQL
Server Execute Package Utility Version 13.0.5026.0 for 64-bit
Copyright (C) 2016 Microsoft. All rights reserved. Started:
1:42:42 AM Error: 2020-01-23 01:42:42.49 Code: 0xC0011007
Source: {07BB41B6-D0DF-4349-B9AE-498397D214D7} Description:
Unable to load the package as XML because of package does not have a
valid XML format. A specific XML parser error will be posted. End
Error Error: 2020-01-23 01:42:42.49 Code: 0xC0011002 Source:
{07BB41B6-D0DF-4349-B9AE-498397D214D7} Description: Failed to
open package file
"D:\ssis_packages\package.dtsx"
due to error 0x80070003 "The system cannot find the path specified.".
This occurs when loading a package and the file cannot be opened or
loaded correctly into the XML document. This can be the result of
specifying an incorrect file name when calling LoadPackage or the
specified XML file has an incorrect format. End Error Could not load
package
"D:\ssis_packages\package.dtsx"
because of error 0xC0011002. Description: Failed to open package file
"D:\ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx"
due to error 0x80070003 "The system cannot find the path specified.".
This occurs when loading a package and the file cannot be opened or
loaded correctly into the XML document. This can be the result of
specifying an incorrect file name when calling LoadPackage or the
specified XML file has an incorrect format. Source:
{07BB41B6-D0DF-4349-B9AE-498397D214D7} Started: 1:42:42 AM
Finished: 1:42:42 AM Elapsed: 0.047 seconds. The package could not
be found. The step failed.
I need some suggestion as what is the best way to run ssis package when sql server and packages are on different machines.
There can be below defined reasons and solutions.
1. The error says it cannot find the package. Just double-check if this is the correct path for your package:
D:\ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx
2. It looks like a local path, so if indeed your package is on the D: Drive of another server make sure to add the server name in front of the path:
//server-name/ d$/
ssis_packages\CoreLogic\CoreLogicSSIS\Real_Estate_Monthly.dtsx
3. Grant the account running your SQL Agent job (I am guessing it's the SQL Agent account, but you should double-check that) access rights to the folder where your SSIS package is stored.
4. If the above did not solve the issue, also check if the SSIS package and your SSIS installation on the server where you are running it are the same. Running a 32bit SSIS package on a 64-bit system/SSIS will result in a similar error message.

KNIME Command Line Execution - ClassNotFoundException

I'd like to schedule a KNIME workflow. The workflow does its job very good as long as I start it from the KNIME GUI application. When I execute the same workflow via command line, java complains that com.microsoft.sqlserver.jdbc.SQLServerDriver
could not be found (ClassNotFoundException).
I invoke it via:
"D:\Progamme\KNIME\knime.exe" -nosplash -application -consoleLog org.knime.product.KNIME_BATCH_APPLICATION -preferences="absolutepathto\preferences.epf" -workflowDir="absolutepathto\workflow"
Since the error message signals missing content in the java CLASSPATH I also tried to add the parameters
-vmargs -classpath .;"absolutepathto/sqljdbc42.jar"
But still I earn a java slap, pointing to the same error...
I also tried to run the command from within the knime.exe's directory and I also tried to add the JAR file to Preferences -> Java -> Build Path -> Classpath Variable / User Libraries (referenced via the -preference argument). But that had no effect.
Did anybody face the same problems? Maybe with other third party JARs?
It is all about a Database connector that is configured like this:
Does the integrated security maybe force a misleading error?
System spec: KNIME 3.2.2 on Windows Server 2008 R2
Update - extract from preferences file
/configuration/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
/configuration/org.eclipse.ui.ide/MAX_RECENT_WORKSPACES=10
/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES=<list of some workspaces>
/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES_PROTOCOL=3
/configuration/org.eclipse.ui.ide/SHOW_RECENT_WORKSPACES=false
/configuration/org.eclipse.ui.ide/SHOW_WORKSPACE_SELECTION_DIALOG=true
Is there maybe a problem due to the fact that it is a shared KNIME instance among several users and the command line execution does not know which workspace has to be chosen? Is the workspace somehow needed and why?
Partial Solution:
I finally managed it but I don't know exactly why it works now. What I did was to load a fresh portable version of KNIME and ran the same commands only changing the executable path to the new portable version. Before that I started the portable version once to set the workspace directory and register the database driver in preferences dialog and .ini file, nothing else, same configuration so far as the shared KNIME instance. What I am really wondering abpout is that from now on the commands are also working with the shared KNIME instance. I really don't know what caused the change that let KNIME find the driver class.
Info
Because I encountered a few more problems within shared environment in KNIME command line mode, that led to undeterministic execution results, I wrote a little .NET library. This gives me more flexibility/control over the workflow execution (which returncodes and error messages occured and so on). You can find it here if you're interested: KnimeNet
I took a very minimal approach:
cd "C:\Program Files\KNIME"
.\knime -nosplash -noexit -consoleLog -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile="D:\Work\Knime Workflows\Output\CMD_Test.knwf" -preferences="D:\Work\Knime Workflows\Output\CMD_Test.epf"

SSIS: Error when executing a Execute Package Task

I have a project where I have 1 master package and several child packages which I call in the master.
However when I launch the master package it goes into error on one "Execute Package Task"
See below for the ouput from the Output-Window:
Information: 0x40016042 at build_NAV_sources: The package is attempting to configure from the parent variable "var_actual_timestamp".
.
.--more variables configuration
.
Information: 0x40016042 at build_NAV_sources: The package is attempting to configure from the parent variable "var_table_prefix".
Error: 0xC00220E0 at Execute Package Read Dim norriq data to sources: The connection is not specified.
Error: 0xC0024107 at Execute Package Read Dim norriq data to sources: There were errors during task validation.
Error: 0xC00220E4 at Execute Package build nav sources: Error 0xC0012050 while preparing to load the package. Package failed validation from the ExecutePackage task. The package cannot run.
.
Task failed: Execute Package build nav sources
SSIS package "F:\Workspaces\KPA\TFS\Norriq\BI\SQL 2012\NAV 2015\SSIS\NAV Datamart\build_NAV_datamart_master.dtsx" finished: Success.
When I check the package where it indicates that the connection is not specified I clearly see that there is an connection specified. In my connection manager I see the connection and when I edit this one and check for connectivity everything works fine.
To make it weirder: When I launch the package (build_NAV_sources) seperatly, it executes without any errors or warnings
Anyone has a clue on whats happening?
Thx
Without changing anything important, I've checked-in my solution in TFS, closed VS, opened the solution again and did a build/rebuild and it worked magically.

Execution of CodedUI tests on Remote machine without using the TestAgent/Controller

I have few Ordered tests which I execute locally using the VSTEST.CONSOLE.EXE In a batch file. I want to launch this batch file from remote system on about 15 VMs. I have the desktop active on all the VMs and user under which these test cases need to be executed are also same as the user logged in. When I try to execute the batch file using the PSExec it throws an error and dosent launch the tests the error shown is as below
C:\TestRunningFolder>vstest.console.exe C:\BuildsFolder\BVTTests.orderedtest /Settings:C:\BuildsFolder\QuestCodedUI.testsettings /Logger:trx
Microsoft (R) Test Execution Command Line Tool Version 12.0.30723.0
Copyright (c) Microsoft Corporation. All rights reserved.
starting test execution, please wait...
Warning: Warning: Test Run deployment issue: The assembly or module 'UiaComWrapp
r' directly or indirectly referenced by the test container 'c:\BuildsFolder\questcodedui.dll' was not found.Error: Test host process
exited unexpectedly.
Error: Failed to queue test run 'testuser#RemoteMachine 2015-05-14 15:57:49':
Unable to start the agent process.
Please let me know how can I execute the CodedUI tests on remote machine without using the TestAgent/Controller. Is it possible Via WMI ?. Anyone tried and succeeded please let me know.
Update : I was able to get past this issue by copying the required files in the folder. Now I am trying to launch the CodedUI tests using the PSExec.exe on remote system. I have remote desktop active and when I try to launch the batch file using the command line and it just gives me a message as shown below. PSEXEC.EXE \RemoteMachinename -i "c\users\testuser\desktop\Runtests.bat" when I do that it returns with error code 1 and tests are not started yet. I tried searching for solution I couldn't find anything that is usefull.
For the above mentioned scenario, please copy all the dependency dll (eg : Microsoft.Visualstudio.Qualitytools.CodeduiTest etc.) to the folder where your build dll (projectname.dll) file is copied. Make sure that you are using correct version of vstest that supports the version of the VS you are using. For example, if your code is builded using VS 2015, you have to use vstest.console.exe that comes with Test Agent 2015/Test Agent 2013 Update 5. This trick worked for me. Please let me know whether this works for you. Regards.

How to install Crystal Reports for .Net 3.5 Winforms application

We have a VB.Net Winforms (x86) application that uses the freely redistributable version of Crystal Reports. Although the application works fine on my test machine, when installing on a client's machine and trying to print a report from the application, the error: The system cannot find the file specified. File name: 'CrystalDecisions.CrystalReports.Engine ... is displayed.
The inno-setup includes the CR redistributable "CRRedist2008_x86.msi" which was installed by the client during the installation. (We also tried running the "CRRedist2008_x64.msi" but received an "unsupported processor type" error).
I have read about Merge Modules that are prerequisites for .NET 1/2 (VS 2002/2005), but cannot find any useful information related to .NET 3.5 and am wondering if these files are still required and how to package and deploy them if they are in fact needed.
Any guidance on how to resolve this installation issue is much appreciated.
Edit
The Inno-Setup contains the following command that checks to see if CR is installed and if not the MSI is launched from the final setup form:
[Run]
Filename: "{app}\CRRedist2008_x86.msi"; Description: "Crystal Reports"; Flags: nowait postinstall skipifsilent; Check: EnsureCrystalReports105Installed();
The problem is that you are not actually executing the MSI file. You can see this by running your installer with /LOG and reviewing the resulting log file.
This is because MSI files cannot be directly executed -- they're data files, not programs.
To resolve this, you need to run msiexec instead, passing the MSI file as a parameter; eg.
[Run]
Filename: {sys}\msiexec.exe; Parameters: "/i ""{app}\CRRedist2008_x86.msi"""; ...
You should review the command line parameters accepted by msiexec and properties accepted by the MSI file to see if you want to do something different, eg. running the install silently instead of interactively.
Also, running it as postinstall is fine if this component is optional for your application and it can gracefully handle it not being installed. If this is not the case then you should treat it as a prerequisite instead and always install it via PrepareToInstall.

Resources