SSIS 2012: Package fails from SQL Agent but runs OK manually - ssis

There is a Master package as below to call and run all child packages in my SSIS solution by Project Reference. Also, all connection managers are set at project level since all packages are sharing the same ones.
When manually running, everything works well from master to last child. However, when the master package is executed from a SQL Agent, it shows error as follows:
Code: 0xC001000E Source: Master
Description: The connection "{5A827D76-916C-4F22-ADE9-266ABBEB1E37}" is not found.
This error is thrown by Connections collection when the specific connection element is not found.
Then I checked the connection ID and found it is an OLE DB connection manager in the first child package as follows:
I'm not sure if I should replace project connections with package level to fix this issue. Hopefully someone could help me out. Thanks in advance!
Some more info that might be helpful:
All connection managers are connect to SQL-Server 2012 and my visual studio version is 2010.
An SSIS proxy is created with the same windows account of packages for SQL Agent to execute. It also has full control to all DBs used in solution.
SQL Agent is set as below:

Related

SQL Server 32-bit easysoft IB6 odbc SSIS package failing with validation error: codes 0x80004005 and 0xC0014009 when run by a sql server agent job

I have a SSIS package on sql server 2012.
It utilizes an easysoft odbc connection to access and optima attendance controller. In my project, I have
Run64BitRuntime is false. My SQL Agent Job is also set for 32 bit run time.
I use and SSIS proxy account and it is an admin account.
I have another package running on the same server using a different odbc provider, timebersoft, but it runs without issue.
If you need more details please let me know what you need to know.
The following errors only occur when the package is exacuted by a sql server agent job.
Data Flow TAsk: Error: ODBC source failed validation and returned error code 0x80004005
attnd: Error: There was an error trying to establish and Open Database Connectivity (ODBC) connection with the database server.
Data Flow Task: Error: The AquireConnection method call to the connection manager Attnd failed with error code 0xC0014009.
I have attempted to create a hello world version and every time the only thing to cause it to crash is when i try to connect to the easysoft odbc. the driver is installed (Name{Easysoft IB6 ODBC}; Version{1.00.01.70}; Company{Easysoft Limited}; File{IB6ODBC.DLL}; Date{6/5/2002}) the user is the same administrator for the successful and unsuccessful attempts
Update: July 21:
1. Tried the installation that wasn't it.
2. Tried Operation system(cmdline) for using 32 bit detexec.exe failed again. (double checked and the command I used did work in the cmdline)
Here are a couple of things you must check (going from front end to back end). See what you are missing.
Run64BitRuntime is set to false in the project setting.
The same configuration setting (having Run64BitRuntime set to false) should be used for deployment.
If you are using an external configuration file, and that has this property, see that it is set to false.
SQL Server > Database Engine > SQL Server Agent > Jobs > Your job's properties > Select the step where you run the SSIS and click Edit> In the 'Execution Options' tab check 'Use 32 bit runtime'
Hope this helps!
"You can use our Interbase ODBC driver from SQL Server Agent or any ODBC enabled application. You will however need to install a 64-bit Interbase client that is compatable with your Interbase server before you install the Easysoft ODBC driver. This can be obtained from Embarcadero"
the issue appears to be with the software. In order to use easysoft on a 64 bit system i need the 64 bit driver properly installed.
Thank you #billinkc for pointing out the installation issue.

SSIS Package not executed by SQL Server Agent using password or xml config or table config

I have an SSIS package that takes data from a MySQL database and puts it in to a SQL Server table. The connection to MySQL is ADO.net. The package runs fine in BIDS.
I would like to deploy the package to be run as a Job on SQL Server 2008. The MySQL connection requires sensitive data to be either stored within the package or held in some external configuration source. If it is stored within the package it will either by encrypted with a key specific to my windows user profile or must be protected via a password.
I have tried three methods of setting up a SQL Server Agent job to execute this pacakge, and all fail:
Using a Password
I set the ProtectionLevel of the package to EncryptSensitiveWithPassword and supply a password for the package. I then save a copy of the package to the msdb. I can then connect to SSIS and run the package, at which point I am prompted for a password.
When I try to schedule this as a job in SQL Server I am prompted to enter the password by clicking on the Configurations tab of the Job Step Properties and I can see that the /DECRYPT switch has been added to the Command Line tab. The Run As property is set to the SQL Server Agent Service Account, which is mapped to a database login that has sysadmin server role. When I attempt to start this job I get the following error:
Executed as user: DOMAIN\UserROLE. Microsoft (R) SQL Server Execute Package Utility Version 10.0.5500.0 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 12:31:30 Error: 2012-07-03 12:31:31.20 Code: 0xC00291EC Source: Get Data Execute SQL Task Description: Failed to acquire connection "DATA_SOURCE". Connection may not be configured correctly or you may not have the right permissions on this connection. End Error DTExec: The package execution returned DTSER_FAILURE
It seems that using this method the package password itself is not stored anywhere for the job to access it.
Using an XML configuration file
I then created a copy of the package and set the ProtectionLevel to DontSaveSensitive and I set up a package configuration to store the MySQL credentials in an XML file. I then save this to the msdb and then when I run the package from
Integration Services I can provide a path to the config file, and all is well. However, once again when I set up a job for the package I point to a configuration file on the server but the job fails with the same error. I am wondering whether this is because the SQL Server Agent does not have an associated windows account that would allow it to read from the XML file stored in the file system.
Using a SQL Server table configuration
This time I created a copy of the package and set the ProtectionLevel to ServerStorage. I then created a [SSIS Configurations] table in the target SQL Server database. I modified the entries in this table to contain the password for the MySQL data source. Again, the package runs successfully from Integration Services, but fails with the same error as previously when run from a job. I have checked that the SQL Server Agent is able to read from the [SSIS Configurations] table ok - I set up a standalone job to test this.
Does anyone have any suggestions about what else I should do here?
I am thinking of giving up on SQL Server Agent Jobs for this and going back to having the package scheduled simply by the windows scheduler but thought before throwing in the towel I would try here first.
I am using the method of encrypting the password by setting EncryptSensitiveWithPassword as you discribed above and don't see anything you do wrong. Remember to use option keep protection level of the original package when importing the package with integration services, but it looks like you're doing that, too.
Try setting the role SQLAgentOperatorRole to your SQL Server Agent Service Account, you didn't mention that and i am not sure if you did. This could possibly solve your permission problems. (liked to answer by commenting this, but i lack of permissions here, too :)

Analysis Services Processing Task Fails When Run By SQL Server Agent

I have an SSIS package which contains an Analysis Services Processing Task.
This package is kicked off by a SQL Server Job in SQL Server 2008 R2.
If I run this job myself or process the cube manually everything is fine.
However if I schedule the job and let the SQL server agent run it then the Analysis Services Processing task fails stating Errors in the OLAP storage engine and that an error occurred while processing the one of the measure groups.
Has anyone else every seen anything like this?
The SQL Server Agent service account may not have sufficient permissions. You can validate this by doing any of the following:
Add the service account to the Administrators group on the analysis services server to validate this issue. Let the job run as scheduled.
Create a proxy that runs under your credentials and set the job to execute under the proxy. Let the job run as scheduled.
Change the SQL Server Agent to use your credentials. Let the job run as scheduled.
If the job completes successfully after making any of the above changes, then you have a permission issue that you need to resolve.
So after months of looking at this I finally realised the answer; of course it's a simple one.
The SSIS job I had created was processing the Cube only, while every time I processed manually in management studio I was processing the whole SSAS database.
I've now changed the SSIS package to process the whole database and everything seems to be working correctly.
when This Error Generate :
reporting services catalog database file existence failed sql server 2008 r2
================================================================================
This issue occurs because the databases for the SQL Server 2008 Reporting Services instance that you want to install already exist on the computer with following path.
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
Manually Remove .MDF and .LDF files of Report from above path and Re-run Setup.
In my case I found the solution in other way. First of all I login into analysus services using SQL management studio.Second of all I searched into databases folder the name of my project, after I open that and double clic in Roles folder, clic in new role, in this window I selected Membership in the left pane, clic in add button and search the NT AUTHORITY\Service, clic in Ok button and finally restart Sql analysis services. I tried to run my job and It works.

Random 0x80004003 invalid pointer error on child SSIS packages on new server

We have a new SQL 2008 R2 instance that's part of a cluster (active/passive) on Windows 2008. I'm testing an SSIS package on the SQL instance that calls many child packages. It's been dying on random packages (rarely the same one twice) with the following error:
Error 0x80004003 while preparing to load the package. Invalid pointer.
I can run the individual package from the SSIS package store just fine. I can also run the master package from BIDS and it'll run perfectly.
I've tried a repair on the SQL instance but there was no difference. I also tried removing and reimporting all the packages to the SSIS package store, with no change. My google-fu is weak, because I can't find anything useful in the cloud.
Nothing is in either the SQL server error logs or any Windows error logs.
Anyone have any ideas?
I have the same issue.
I closed the visual studio and restart it as an administrator (Shift + Right Click using the Mouse) and it worked fine with me.
What worked for me was chaging the protection level on the packages. I set the protection level on the parent and all the child packages to DontSaveSensitive, and re-deployed. No longer received the errors.
Hope this helps someone.
Rebuilding the master package from the ground up fixed the issue. Still, if someone has an idea, I'd love to hear it; rebuilding it is a pain on a good day.
I was facing same problem. I used Execute package Utility (EPU) to run Parent package created from BIDS 2008. somehow It gave me error
Error 0x80004003 while loading the package. Invalid pointer.
The issue was having two SQL Server, 2008 R2 and 2012. By default, "EPU" run from SQL Server 2012 which is failed because package created from BIDS 2008. You have to run EPU from SQL Server 2008 folder which execute package successfully.
I hope this help you.
Yatin Patel

How to fix the error CPackage::LoadFromXML that causes the package to fail?

I had this package which been running fine since a year or more. All of sudden it has thrown below error. Though on restart it was success. How to debug this issue and prevent from happening again.
Executed as user: xxxxx. Microsoft (R) SQL Server Execute Package Utility Version
10.0.2531.0 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 7:15:08 AM Error: 2011-07-07 07:15:08.62 Code: 0xC0010018 Source:
Description: Error loading value "
<DTS:VariableValue xmlns:DTS="www.microsoft.com/SqlServer/Dts"
DTS:DataSubType="ManagedSerializable"
DTS:DataType="13"><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="htt" from node "DTS:VariableValue".
End Error
Error: 2011-07-07 07:15:08.62 Code: 0xC0010018 Source:
Description: Error loading value
"<DTS:Variable xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:Property DTS:Name="Expression"></DTS:Property>
<DTS:Property DTS:Name="EvaluateAsExpression">0</DTS:Property>
<DTS:Property DTS:Name="Namespace">User</DTS:Property>
<DTS:Property DTS:Name=" from node "DTS:Variable".
End Error
Could not load package "d:\edw\edw\trunk\src\etlHandler\HDL\DropZoneJobHandler.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: Started: 7:15:08 AM Finished: 7:15:08 AM Elapsed: 0.609 seconds.
The package could not be loaded. The step failed.
I have had this issue on Visual Studio 2015 when creating SSIS Packages.
To resolve it, I changed the TargetServerVersion to SQL Server and that resolved the error.
I was using SSIS package which was upgraded to SSIS 2012, and the SSMS that I was using was 2008. This was the issue that I faced, and I opened the SSMS 2012 and it stopped throwing this error.
I hope this is the case, although with what I have researched, this error could be thrown for various other reasons as well.
For me the error came from a bad password when opening the package. It's strange because usually it just asked me to type in the password again, but since last VS2017 update, the package just fails.
I was getting this 0xC0010014 error when I used a VS 2017 ent build with a dtexec on a server. I set server to SQLServer2014 and the job started to run, but for a while it would throw the 0xC0010014 at the top of the ssis log but still run successfully. I think if you have EncryptSensitiveWithPassword you have to reset the package password after you make the SQLServernnnn change. You have to be aware of what version of dtexec you have on the server, what version the package might have been built in originally (many packages run for years without touching them and may have been built with vs 2015 or vs 2012) and what version of VS you are building with (easier to keep a laptop up to date, maybe you have VS 2017 or VS 2019). You might have a really current Visual Studio to do your builds, but be running in a really old server/dtexec environment.
I have resolved this issue by changing a connection that was referencing to one of my DSN entries that was not created.
After removing the connection, I was able to view the package and then I created a new connection after the new DSN was created.
Please let me know if you need more details and i will provide.
Thanks.
I encountered this error when attempting to schedule an SSIS job to run using SQL Agent. The error came up after I'd selected the package and clicked OK to exit the setup of the step in SQL Agent.
In my environment, I develop SSIS jobs on server A, and schedule jobs in SQL Agent from my local computer. SQL is hosted on server B.
I'm usually able to schedule jobs without error using SSMS on my local computer. However, this particular SSIS package uses the Sharepoint List Adapater, which I'd installed on server A for the SSIS development.
The solution was to install that adapter on my local computer. I also installed it on server B, which hosts our SQL instance.
The solution for this scenario was asking customer change the debug option Run64BitRuntime from True to False. With this Run64BitRuntime=False setting, all works as in 32bit mode. See below link:
https://blogs.msdn.microsoft.com/farukcelik/2010/06/16/why-package-load-error-0xc0010014-in-cpackageloadfromxml-error-appears-while-trying-to-run-an-ssis-package/
I had similar issue when I try to setup Import/Export process on SQL server and save it as SSIS package. I was using excel(.xlxs) as source file.
I resolved it by installing https://www.microsoft.com/en-pk/download/confirmation.aspx?id=4438 (Access 2007 Runtime) on sever).
I created a new project in VS 2019, added a couple tasks and tried to upload and got this error.
Solution: SQL Server was 2012 and the project was set as SQL Server 2017. Changed the project to 2012 saved everything and it worked.
Please take a look at the following link from social.msdn.microsoft.com discussing about a similar error message. Hope that helps.
CPackage::LoadFromXML Failure