running SSIS package as SQL agent job failed - sql-server

I created SSIS an project, which exports some data to Excel. In Visual Studio 2017 it works fine, but when I run it using a SQL Server Agent job (MS SQL Server 2017), it throws this error:
"Executed as user: Administrator. Microsoft (R) SQL Server Execute Package
Utility Version 13.0.1601.5 for 32-bit Copyright (C) 2016 Microsoft. All
rights reserved. Started: 3:31:46 PM Error: 2017-12-27 15:31:47.10
Code: 0xC0010018 Source: Package Description: Error loading value "
<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[Excel]"
DTS:CreationName="EXCEL" DTS:DTSID="{0E7AADD0-AA79-4C99-8FFC-92E1CB5A871A}"
DTS:ObjectName="Excel"><DTS:ObjectData><DTS" from node
"DTS:ConnectionManagers". End Error Could not load package "\\phantsmgmt\c$\SDATA\ITDokumentace\SQL_DT_projects\Export_ser_zak_CEBIA\Export_ser_zak_CEBIA\Export_ser_zak_CEBIA\Package.dtsx"
because of error 0xC0010014. Description: The package failed to load due to
error 0xC0010014 "One or more error occurred. There should be more specific
errors preceding this one that explains the details of the errors. This
message is used as a return value from functions that encounter errors.".
This occurs when CPackage::LoadFromXML fails. Source: Package Started:
3:31:46 PM Finished: 3:31:47 PM Elapsed: 0.422 seconds. The package
could not be loaded. The step failed."
That is stange, because I have another SSIS project, which is using the Excel connection manager too, and it works fine using the scheduled SQL Server Agent job.
I tried to turn 32 bit mode on and off again, but nothing helps.

The solution, that helps me is Target Server Version setting in Visual Studio. More info here:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/84e470e9-aeef-4850-b29e-9eb3d545819f/running-ssis-package-as-sql-agent-job-failed?forum=sqlintegrationservices

They main error is:
Error loading value "
<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[Excel]"
DTS:CreationName="EXCEL" DTS:DTSID="{0E7AADD0-AA79-4C99-8FFC-92E1CB5A871A}"
DTS:ObjectName="Excel"><DTS:ObjectData><DTS" from node
"DTS:ConnectionManagers". End Error
It looks like the error is from the Excel connection manager, there is a value that cannot be loaded. First you have to check that the excel file path exists. If the file is created after package execution you have to set the DelayValidation property to True for each component that uses this connection.

I'm getting this message more recently with a VS 2019 PRO build of an ssis package and oledb access to ms sql. A straight forward vs 2019 build with oledb access to ms sql would throw this message on our batch machines even though the same job would run on a laptop. I couldn't get anything to work until I set TargetServerVersion to SQLServer 2016. Probably just an anomoly of our somewhat strange environment but I wanted to mention it in case it helped someone else. Some people are saying that this message means dtexec can't read your .dtsx package.

Related

Problem trying to run SSIS package with Oracle Connection Attunity

I'm having the following issue:
I have an SSIS package that connects to an oracle DB using Attunity Connection Manager.
It does connect in my local pc (to a remote oracle db server) and extracts and all, seems to work.
The problem comes when I load it to SQL server to be run as a Job.
I have ran other jobs so the setup is proper, set to run with 32 bit runtime, loading as a file system type.
but when I try to execute the job it gives the following error:
Executed as user: username. Microsoft (R) SQL Server Execute Package
Utility Version 12.0.2548.0 for 32-bit Copyright (C) Microsoft
Corporation. All rights reserved. Started: 9:39:28 PM Error:
2019-09-27 21:39:28.90 Code: 0xC0010018 Source: Package
Description: Error loading value "
Now, as it runs locally, I believe that it might be related with something in the SQL server where I deploy the package so I'll give some information about the setup and some notes:
When running using the Native OLE DB source from SSIS it works (but I want to use the attunity as I read is faster)
Server version is: Microsoft SQL Server 2014 - 12.0.2548.0 (X64) on Windows NT 6.3 - Microsoft SQL Server Developer (64-bit)
I tried to install the Attunity components from here: https://www.microsoft.com/en-us/download/details.aspx?id=55179 but both in my local computer as in the server I get an error saying that it does's find SQL Server installed, however installation seems to finish succesfully after this screenshot below:
(I do get some error registering dlls:
---------------------------
Microsoft Connector for Oracle by Attunity
---------------------------
An error occurred during registration of:
"C:\Program Files\Attunity\Microsoft Connector for Oracle\50\ENU\AttunitySSISOraAdapters.dll"
---------------------------
An error occurred during registration of:
"C:\Program Files\Attunity\Microsoft Connector for Oracle\50\ENU\AttunitySSISOraConnections.dll"
---------------------------
An error occurred during registration of:
"C:\Program Files\Attunity\Microsoft Connector for Oracle\50\bin32\ENU\AttunitySSISOraAdapters.dll"
---------------------------
An error occurred during registration of:
"C:\Program Files\Attunity\Microsoft Connector for Oracle\50\bin32\ENU\AttunitySSISOraConnections.dll"
---------------------------
and after it
I'm running Visual Studio 2017 Professional 15.9.16 with the following among others:
SQL Server Data Tools 15.1.61906.03120 Microsoft SQL Server Data
Tools
SQL Server Integration Services Microsoft SQL Server Integration
Services Designer Version 14.0.3002.113
Oracle Developer Tools for Visual Studio 12.2.0.1.0 Oracle Developer
Tools for Visual Studio Copyright (c) 2005, 2017
Please let me know if I'm missing information to help pinpoint the problem.
I think I might be missing a component but I don't really know what.
UPDATE: I changed the TargetServerVersion in the package properties from SQL Server 2017 to 2014 (the version I have installed) and I'm getting this error now:
Error: 2019-09-30 17:53:13.20 Code: 0x000002C0 Source: Package Connection manager "Oracle Connector 1" Description: OCI error encountered. ORA-12154: TNS:could not resolve the connect identifier specified End Error
Error: 2019-09-30 17:53:13.20 Code: 0x0000020F Source: Data Flow Task 1 1 Oracle Source [343] Description: The AcquireConnection method call to the connection manager Oracle Connector 1 failed with error code 0x80004005. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error
Error: 2019-09-30 17:53:13.20 Code: 0xC0047017 Source: Data Flow Task 1 1 SSIS.Pipeline Description: Oracle Source failed validation and returned error code 0x80004005. End Error
Error: 2019-09-30 17:53:13.20 Code: 0xC004700C Source: Data Flow Task 1 1 SSIS.Pipeline Description: One or more component failed validation. End Error
Error: 2019-09-30 17:53:13.20 Code: 0xC0024107 Source: Data Flow Task 1 1 Description: There were errors during task validation. End Error
DTExec: The package execution returned DTSER_FAILURE (1). Started: 5:52:41 PM Finished: 5:53:13 PM Elapsed: 32.125 seconds. The package execution failed. The step failed.
UPDATE 2
I have uninstalled all I had and installed only the V3 version of the Attunity Connection Manager, still getting the error from above. At this point I don't know what could be happening.
It works when I run it from my Visual Studio (2017, with all connection managers pointing to the servers) but then when I schedule it on the SQL Server Agent it give the error shown, Also, it does work well when I use OLE DB Manager, the issue comes when trying to use the Oracle Source (from Attunity)
I'm also using the Connection manager set with format: host:port/ServiceName
I'm thinking I might have something badly set on the server? on terms of the Oracle setting? I have the following:
TNS_ADMIN: C:\Oracle\product\product\11.2.0\client_64bit\network\admin
I don't have more set, shall I have something more?
You missed the explanation about getting the correct version for your version of SQL Server, perhaps. Also the part about
Microsoft Connector Version 4.0 for Oracle The Microsoft Connector for Oracle is a set of managed components for transferring data from or to an Oracle database. The component is designed to be used with the Enterprise and Developer editions of SQL Server 2016 Integration Services and will only operate in those environments. To install the component, run the platform-specific installer for x86 or x64 computers respectively. Read the installation topic in the Help file for installation prerequisites and additional information.
Also:
Microsoft Connector Version 5.0 for Oracle The Microsoft Connector for Teradata is a set of managed components for transferring data from or to Oracle database. The component is designed to be used with the Enterprise and Developer editions of SQL Server 2017 Integration Services and will only operate in those environments. To install the component, run the platform-specific installer for x86 or x64 computers respectively. Read the installation topic in the Help file for installation prerequisites and additional information.
Instead, try the Attunity V3 drivers that can be found here:
The error was being caused on the package trying to run in 32 bit mode. I changed the package settings to 64bit and the SQL Agent settings to run in 64 bits and it started running, it works perfect now :)

SQL Server 2016 SSIS packages failing when deployed using VS2015 SQL Server Data Tools v14

Visual Studio 2015 Update 3 14.0.25341.01
SQL Server Data Tools 14.0.61707.300
SQL Server 2016 13.0.4435.0
I recently had a message in VS2015 that a update for SQL Server Data Tools was available. I decided to download and install it and now packages I deploy to SQL 2016 no longer work.
I do not know what my version of SQL Server Data Tools was before I installed the update, but I do know that inside my SSIS Project, I now see the TargetServerVersion option of SQL 2017 (used to only go to SQL 2016).
I confirmed my project (which is the project I use for all my SSIS packages and have since we deployed SQL 2016) is still set to TargetServerVersion SQL 2016. The project is set to Project Deployment Mode, and I've always deployed by opening a package, and clicking File -> Save Copy of filename.dtsx As... and then deploying to target SQL. Nothing has changed in our environment outside of my upgrade of SQL Server Data Tools.
Here's the error I receive when I try to run the package:
Executed as user: DOMAIN\ProxySvc.
Microsoft (R) SQL Server Execute Package Utility
Version 13.0.1601.5 for 64-bit
Copyright (C) 2016 Microsoft. All rights reserved.
Started: 3:32:33 PM
Error: 2017-09-28 15:32:33.37
Code: 0xC0010018
Source: Package_Name
Description: Error loading value "<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts"><DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[SERVER A]" DTS:CreationName="OLEDB" DTS:DTSID="{E5D397C2-477A-4E04-B930-613DDE14A054}" DTS:ObjectName="SERVER A"><DTS:ObjectData>" from node "DTS:ConnectionManagers".
End Error
Could not load package "\Maintenance Plans\Package_Name" because of error 0xC0010014.
Description: One or more error occurred. There should be more specific errors preceding this one that explains the details of the errors. This message is used as a return value from functions that encounter errors.
Source:
Started: 3:32:33 PM Finished: 3:32:33 PM Elapsed: 0.109 seconds.
The package could not be loaded.
The step failed.
The packages will however work if I deploy them using DtUtil from the SQL 2016 Dev Edition I have installed locally. For example:
"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\dtutil" /FILE "C:\filename.dtsx" /DestServer SERVERNAME/INSTANCE /Encrypt SQL;"Maintenance Plans\Package_Name";2;PKG_PA$$
Has anyone else had issue with this? I can't be the only person deploying package this way that suddenly had the packages stop working when deployed in VS2015 and SQL Server Data Tools.
I've also opened a Connect for this issue.
Edit: I tried Visual Studio 2017 with the preview edition of SQL Server Data Tools for it. I get the same issue. Package deploys fine, but the package will not run.
Edit 2: If I create an empty package, it runs successfully (granted doing nothing). If I create an empty package with nothing but a single OLEDB connection, it fails with the message above. It also fails with the same message with an empty package and only a single ADO.NET connection.
Edit 3: I deployed two packages. One using SSDT (that fails to run on the server with error above) and another with DTUTIL that executes on the server fine. The packages are the exact same except for how they were copied to the server. I then used DTUTIL to copy the package back to my machine and compared them. Outside of the DTS:LastModifiedProductVersion version differences, the only other change is the EncryptionMethod Algorithm. The one deployed using SSDT says:
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
And the one deployed using DTUTIL:
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
Obviously the Salt, IV, and CipherValues are different but I wonder if the encryption being applied by SSDT when deploying is causing the issue.
I had the same exact issue. What solved it for me was this: http://microsoft-ssis.blogspot.com/2016/12/ There's a missing assembly reference in the devenv.exe.config file. If you deploy via command line or using the ISDeploymentWizard, that's probably your issue.

Running an SSIS 2008R2 Package from a SQL Server 2012 Job

I have an SSIS Package that was created in SQL Server 2008 R2. When I attempt to execute the package using the SQL Server 2008 R2 execute package utility, I receive no errors. When I try the same with the SQL Server 2012 execute package utility, I get these errors:
Error: To run a SSIS package outside of SQL Server Data Tools you
must install Derived Column of Integration Services or higher.
Error: To run a SSIS package outside of SQL Server Data Tools you
must install Conditional Split of Integration Serivces or higher.
Error: To run a SSIS package outisde of SQL Server Data Tools you
must install SSIS Log Provider For SQL Server of Integration Services
or higher.
--****
When I attempt to run the package with a SQL Server 2012 Job, I receive this error:
Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server
Execute Package Utility Version 11.0.2100.60 for 32-bit Copyright
(C) Microsoft Corporation. All rights reserved. Started: 10:20:56
AM Error: 2016-08-31 10:20:56.22 Code: 0xC0011007 Source:
{F21F6C0C-91E9-4444-B3C2-8BD4670D8953} 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:
2016-08-31 10:20:56.22 Code: 0xC0011002 Source:
{F21F6C0C-91E9-4444-B3C2-8BD4670D8953} Description: Failed to
open package file "C:\IHA\IHA_HOSPF105.dtsx" due to error 0x80070005
"Access is denied.". 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 "C:\IHA\IHA_HOSPF105.dtsx" because of
error 0xC0011002. Description: Failed to open package file
"C:\IHA\IHA_HOSPF105.dtsx" due to error 0x80070005 "Access is
denied.". 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:
{F21F6C0C-91E9-4444-B3C2-8BD4670D8953} Started: 10:20:56 AM
Finished: 10:20:56 AM Elapsed: 0.016 seconds. The package could not
be found. The step failed.
Is it possible to configure the SQL Server Job to point to the SQL Server 2008 R2 execute package utility? In the 'steps' section of the Job, is there a way that I can change the 'Command Line' to do this?
Also, I noticed that the machine I am running the Jobs/packages from has the SQL Server Integration Services 10.0 service installed. I don't see version 11.0. If I had that, I would assume that this would also correct the problem. Is that the case?

MS SQL Server SSIS. Could not load file or assembly 'System.Data.dll' or one of its dependencies

We have an SSIS package hosted in server1. A job in Server 2 is running the SSIS package and load/transform data in Server2. But recently we are receiving the error below:
Executed as user: user1. Microsoft (R) SQL Server Execute Package Utility Version 11.0.6020.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 6:45:00 AM Failed to execute IS server package because of error 0x80070020. Server: Serevr1, Package path: \SSISDB\DATABASE1\Project1\Package1.dtsx, Environment reference Id: NULL. Description: Could not load file or assembly 'System.Data.dll' or one of its dependencies. The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020) Source: Microsoft.SqlServer.ManagedDTS Started: 6:45:00 AM Finished: 6:45:00 AM Elapsed: 0.297 seconds. The package execution failed. The step failed.
This error does not occur all the time. If we run the package again after the failure it runs successfully. But after few hours or sometimes, few days this error comes again.
Please Note: We are scheduled to run this package every 15 mins.
We couldn't find anything that specifically signifies the error that we are getting. All the links and blogs are not exactly pointing about such situation and error.
Any help regarding this would be really appreciated.

The LoadFromSQLServer method has encountered OLE DB error code 0x80040E14

installed an SQL Server 2012 x64 on an Server 2012 x64 without domain. The server is just in the workgroup WORKGROUP as default setting.
I created the package "import cards" which imports some csv files into a database. In BIDS, the package works fine without trouble. The package also write some logfiles when the package start, end and on errors.
With the Execute Package Utility the package works fine too.
Now i import the package in the msdb database as an file system import and the protection level "Keep protection level of the original package".
my last step was creating a schedule, as usual. Trying to running the schedule drives me nuts.
My SQL Server Agent is started with the account "NT Service\SQLSERVERAGENT" The User properties has a mapping to the msdb database including the roll "ssisadmin".
I read this in my meaning very useful post.
But the Schedule wont working.
Error message in History:
Message
Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server Execute
Package Utility Version 11.0.5058.0 for 64-bit Copyright (C) Microsoft Corporation.
All rights reserved. Started: 2:38:18 PM Could not load package "\importCards"
because of error 0xC0014062. Description: The LoadFromSQLServer method has
encountered OLE DB error code 0x80040E14 (Only the owner of DTS Package 'importCards'
or a member of the sysadmin role may create new versions of it.). The SQL statement
that was issued has failed. Source: Started: 2:38:18 PM Finished: 2:38:18 PM
Elapsed: 0.031 seconds. The package could not be loaded. The step failed.
nothing works and I'm very frustrated. Perhaps you can help me. Every clue is appeciated
Thank you!
the problem therefore seems to come from inserting the step e.g. importing the package into the integration services.
I can't see the data sources of the step and as long as you see no data sources, you have no chance to run the job with success.

Resources