SSIS package flow based on a scheduling configuration table.
I have a table called Tbl_Scheduler.
This scheduler table contains
scheduler id ,scheduler description,as shown below.
1 ,Runs between 10 th of current month and 20th of current month
2 ,Runs at last day of the month
3 ,Runs at first day of the month
Scheduler Id will come from first task(it is given in a configuration table),
second task should check this scheduler id on scheduler table and
verify whether the current run date is falling under the criteria,which is given as scheduler description.
If it is not,need to stop the package flow.
SSIS package is scheduled from SQL agent job in every 10 mins.Could you please let us know,how I can design the same.
Also please feel free to advise to change the table design.
Stopping running packages is a bad idea in general. You must specifically design a package for being stopped any time which isn't always possible, often not at all.
And running a package repeatedly in short intervals is not a SOP either.
To trigger a SSIS package run, the easiest would be via sp_start_job <name> once you have your package set up to run in Agent.
Arthur My Blog
Similar Messages
-
Execute jobs running SSIS package
I'm testing a domain login that will have the permissions to run a job that will execute an SSIS package transferring data from DB123 to DB456 in SQL Server 2008.
This is what I have so far:
1) Create login with a domain test account (domain\xyz)
2) Create job with Owner as SA. SA account login is disabled.
3) Job calls an SSIS package, does not have a schedule and meant to be called from a SP from the front end app. So, essentially on demand.
4) Besides public on the databases mentioned below, domain\xyz account also has the following db permissions:
a) db_datareader, db_datawriter on DB123
b) db_datareader, db_datawriter on DB456
c) db_ssisadmin, db_ssisltduser, db_ssisoperator, SQLAgentOperatorRole, SQLAgentReaderRole, SQLAgentUserRole.
The issues:
Issue #1: When I login to SSMS as domain\xyz and execute
exec msdb..sp_start_job 'TestPermJob', I get the following errors
Msg 229, Level 14, State 5, Procedure xp_sqlagent_is_starting, Line 1
The EXECUTE permission was denied on the object 'xp_sqlagent_is_starting', database 'mssqlsystemresource', schema 'sys'.
Msg 229, Level 14, State 5, Procedure xp_sqlagent_notify, Line 1
The EXECUTE permission was denied on the object 'xp_sqlagent_notify', database 'mssqlsystemresource', schema 'sys'.
Before I start granting those permissions explicitly to a role and assign the role to the login, I thought msdb SQLAgentOperatorRole should allow the execution of jobs, doesn't it?
Issue #2: As domain\xyz, I cannot see any jobs on SQL Server Agent. Again, I thought granting msdb SQLAgentOperatorRole should be sufficient to do that.
Please help. Thanks.Before I start granting those permissions explicitly to a role and assign the role to the login, I thought msdb SQLAgentOperatorRole should allow the execution of jobs, doesn't it?
Issue #2: As domain\xyz, I cannot see any jobs on SQL Server Agent. Again, I thought granting msdb SQLAgentOperatorRole should be sufficient to do that.
Hi Ami,
According to your description, in theory, SQLAgentOperatorRole is the most privileged of the SQL Server Agent fixed database roles. It includes all the permissions of SQLAgentUserRole and SQLAgentReaderRole. Members of this role can also view properties
for operators and proxies, and view all jobs on the server.
I do a test in SQL Server 2012, if we create a login name, and create a user for this login, then configure this user to
add a SQL Server Agent fixed database role(SQLAgentOperatorRole) under
Database role membership for: msdb.
When we login the SQL Server instance via this login name, we can check all jobs under SQL Server Agent. So I recommend you check if you
add a SQL Server Agent fixed database role successfully. For more information, you can review the following
article.
http://www.mssqltips.com/sqlservertip/1041/sql-server-agent-fixed-database-roles/
Regards,
Sofiya Li
Sofiya Li
TechNet Community Support -
How to execute an SSIS package on a scheduled basis from remote server and pass in input files
I have an application server and a db server. My db server has all things SQL Server stored on it (DBMS, SSRS, SSIS, etc.) I have several nightly batch process SSIS packages (dtsx files currently) that will pickup an input file and import them
into the database. I would like to execute all batch processes from my application server as I have quite a few other ones as well that do other stuff outside of SQL Server via powershell. My question is how to do this? Is there away to execute
them remotely via DTexec.exe, should I set them up as Agent jobs and somehow pass in the file names\location (how?), create and SSIS catalog, etc.?
I need to easily be able to see if the packages execute successfully or not and if not capture the detailed information of why they failed from the remote server so I can use that to drive my process flow logic in the batch processes.Hi Jason,
According to your description, you want to execute a package on a schedule and receive notification when package ends with error in the job.
After testing the issue in my environment, we can directly add the package in a step of a job, then add a schedule and set the Alert and Notification property in the job to achieve your requirement. For more details, please see:
Create a Database Mail in the SSMS.
Right-click the SQL Server Agent services to Enable mail profile, then select the appropriate Mail profile.
Under the Operators folder, create an operator with the correct E-mail name.
Right-click the Jobs folder to add a new job.
In the Steps pane, New a step with SQL Server Integration Services Package Type to run the package.
In the Schedules pane, New a schedule for the job.
In the Alerts pane, New an alert with SQL Server event alert, then enable Notify operators option with an operator in the Response pane.
In the Notifications pane, enable Email option with same operator and When the job fails selection.
Then when the package fails, the job would be failed and we can receive the error message in the mailbox.
Besides, please make sure the account that execute the job has correct permissions for the file, for the folder that contains the file, and for the database.
References:
Configure Database Mail – Send Email From SQL Database
How to setup SQL Server alerts and email operator notifications
Thanks,
Katherine Xiong
If you have any feedback on our support, please click
here.
Katherine Xiong
TechNet Community Support -
Hi,
I've successfully created a SSIS package and I can execute it manually. Now I am trying to schedule it as a job to run daily at certain time. For this, I tried to create a job through 'SQL Server Agent' in Sql Server Management Studio. But when I configured
the Step properties and clicked 'Ok' it is throwing this error.
TITLE: SSIS Execution Properties
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.
ADDITIONAL INFORMATION:
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.
I am using Visual Studio 2010 for creating package and SQL Server 2008 R2. Also, I gave my credentials in the package's connection string. And I am trying to schedule the job with the same package credentials as the job owner.
The Protection Level in Visual Studio was set to 'EncryptSensitiveWithUserKey'.
What am I doing wrong to create a job step?
Thanks for any help!Hi CRMProgrammer,
Based on my research, the error “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.” always occurs when you open or deploy a higher version SSIS in a lower version SQL Server.
Based on your description, it seems that the package is created in SSIS 2012, while you trying to schedule it in SQL Server 2008 R2. SSIS versions are not backwards compatible. Please notice that once a package is upgraded from SSIS 2008 R2 package schema
to SSIS 2012 package schema, the package cannot be downgraded. So we cannot schedule the SSIS 2012 packages in SQL Server 2008 R2 anymore.
To work around this, we should recreate the package in SSIS 2008R2 or schedule the package in SQL Server 2012.
Thanks,
Katherine Xiong
If you have any feedback on our support, please click
here.
Katherine Xiong
TechNet Community Support -
Errors in job scheduled SSIS package
A job scheduled for SSIS package failed with the below errors:
Microsoft (R) SQL Server Execute Package Utility Version 10.50.4321.0 for 64-bit Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started: 5:00:02 AM
Error: 2015-01-02 05:06:39.25
Code: 0xC0202009
Source: Data Flow Task OLE DB Destination [46]
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 10.0"
Hresult: 0x80004005
Description: "Could not allocate a new page for database because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary
space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.". End Error Error: 2015-01-02 05:06:39.42
Code: 0xC0209029
Source: Data Flow Task OLE DB Destination [46]
Description: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (59)"
failed because error code 0xC020907B occurred, and the error row disposition on "input "OLE DB Destination Input" (59)" specifies failure on error. An error occurred on the specified object of the specified component. There may be
error messages posted before this with more information about the failure.
End Error Error: 2015-01-02 05:06:39.44
Code: 0xC0047022
Source: Data Flow Task SSIS.Pipeline
Description: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (46) failed
with error code 0xC0209029 while processing input "OLE DB Destination Input" (59). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow
task to stop running. There may be error messages posted before this with more information about the failure.
End Error Error: 2015-01-02 05:06:39.48
Code: 0xC02020C4
Source: Data Flow Task Flat File Source [1]
Description: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.
End Error Error: 2015-01-02 05:06:39.50
Code: 0xC0047038
Source: Data Flow Task SSIS.Pipeline
Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "Flat File Source" (1) returned
error code 0xC02020C4. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error
messages posted before this with more information about the failure.
End Error Error: 2015-01-02 05:16:23.49
Code: 0x00000000
Source: Execute SQL Task 1
Description: Could not allocate space for object 'bo.TLE'.'PK_new' in database because the 'PRIMARY' filegroup is full. Create disk space
by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
End Error Error: 2015-01-02 05:16:23.70
Code: 0xC002F210
Source: Execute SQL Task 1 Execute SQL Task
Description: Executing the query "Sp_load" failed with the following error: "Warning: Null value is eliminated by an aggregate
or other SET operation.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
End Error DTExec: The package execution returned DTSER_FAILURE (1).
Started: 5:00:02 AM
Finished: 5:16:27 AM
Elapsed: 984.928 seconds. The package execution failed. The step failed.
Please help!!!!Hi,
Based on the error message” Could not allocate a new page for database because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth
on for existing files in the filegroup”, we can know that the issue is caused by the there is no sufficient disk space in filegroup 'PRIMARY' for the database.
To fix this issue, we can add additional files to the filegroup by add a new file to the PRIMARY filegroup on Files page, or setting Autogrowth on for existing files in the filegroup to increase the necessary space.
As to the issue that the job executed successfully for the next run when executed, I think it can be caused by someone or something had made something to increase the space.
The following document about Add Data or Log Files to a Database is for your reference:
http://msdn.microsoft.com/en-us/library/ms189253.aspx
If there are any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Scheduling SSIS packages through SQL Server Agent
Hello All! I have an SSIS question for BPC 7.5 installations across multiple servers. I have been rebuilding all my DTS packages over to SSIS and trying to learn this more dynamic environment. Currently I have saved a copy of all my rebuilt packages from BIDS (on web server) to the MSDB located on the SQL server. I can manually run packages from Integration Services and load data successfully. When I try to schedule packages based on the packages stored in MSDB, I get failures. The errors initially suggested I was passing over a NULL password, so I adjusted the protection level of the package to ServerStorage, as opposed to the default setting.
Now I have the following error when I schedule and run it:
Message
Executed as user: AMERICREDIT\svcbpc_ssis_dev. 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: 11:48:00 AM Error: 2011-02-28 11:48:02.05 Code: 0xC0010018 Source: Convert Task 2008 Description: Failed to load task "Convert Task 2008", type "OSoft.Services.Application.DataMgr.Task.SSISConvert, OSoftTaskConvert2008, Version=7.0.112.0, Culture=neutral, PublicKeyToken=bf6c37fa78f5a648". The contact information for this task is "". End Error Error: 2011-02-28 11:48:02.06 Code: 0xC0010018 Source: DumpLoad Task 2008 Description: Failed to load task "DumpLoad Task 2008", type "OSoft.Services.Application.DataMgr.Task.SSISTaskDumpLoad, OSoftTaskDumpLoad2008, Version=7.0.112.0, Culture=neutral, PublicKeyToken=bf6c37fa78f5a648". The contact information for this task is "". End Error Error: 2011-02-28 11:48:02.13 Code: 0xC0010026 Source: Convert Task 2008 Description: The task has failed to load. The contact information for this task is "". End Error Error: 2011-02-28 11:48:02.13 Code: 0xC0024107 Source: Convert Task 2008 Description: There were errors during task validation. End Error Error: 2011-02-28 11:48:02.13 Code: 0xC0010025 Source: Z6_VW_STAT_APLN_CURR Description: The package cannot execute because it contains tasks that failed to load. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 11:48:00 AM Finished: 11:48:02 AM Elapsed: 1.406 seconds. The package execution failed. The step failed.
It appears I cannot execute any of the BPC custom tasks in the SSIS packages. Any recommendations?Thanks, James, your point is well taken. Originally we were importing packages into the file system, but had the same results when scheduling.
Below is the message received when I schedule a package located in the stored package file system from my web server:
Executed as user: AMERICREDIT\svcbpc_ssis_dev. 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: 10:36:00 AM Error: 2011-03-01 10:36:02.56 Code: 0xC0010018 Source: Convert Task 2008 Description: Failed to load task "Convert Task 2008", type "OSoft.Services.Application.DataMgr.Task.SSISConvert, OSoftTaskConvert2008, Version=7.0.112.0, Culture=neutral, PublicKeyToken=bf6c37fa78f5a648". The contact information for this task is "". End Error Error: 2011-03-01 10:36:02.58 Code: 0xC0010018 Source: DumpLoad Task 2008 Description: Failed to load task "DumpLoad Task 2008", type "OSoft.Services.Application.DataMgr.Task.SSISTaskDumpLoad, OSoftTaskDumpLoad2008, Version=7.0.112.0, Culture=neutral, PublicKeyToken=bf6c37fa78f5a648". The contact information for this task is "". End Error Error: 2011-03-01 10:36:02.62 Code: 0xC0010026 Source: Convert Task 2008 Description: The task has failed to load. The contact information for this task is "". End Error Error: 2011-03-01 10:36:02.62 Code: 0xC0024107 Source: Convert Task 2008 Description: There were errors during task validation. End Error Error: 2011-03-01 10:36:02.62 Code: 0xC0010025 Source: Z6_VW_STAT_APLN_CURR Description: The package cannot execute because it contains tasks that failed to load. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:36:00 AM Finished: 10:36:02 AM Elapsed: 1.954 seconds. The package execution failed. The step failed.
Could this be a security thing? If so, what would my security need to be set up from the package level? -
Hello, everyone,
I have an SSIS package with a XML package configuration file. I deployed it to the sql server using the import feature in SSMS (in Stored Packages, right click MSDB, select Import, select the package to deploy in file system). My question is
Is the XML package configuration file also deployed? If so, which folder is it stored so that I can change the values in it? If not, is setting up the Configuration tab when scheduling a agent job the way to go manually bring the configuration file in?
Your help and information is much appreciated.
RegardsThank you Arthur for your reply. I appreciate it.
A followup questions:
I used direct setting for the configuration file path on C:\. But it needs to be on D:\ on the remote server. I can't create the D:\ path because I don't have D:\ drive on my computer (I understand I could use indirect setting to change the path in the remote
server. But that's not the concern here).
My question is: since the configuration is not deployed, can I make it up by setting up the Configurations in creating the agent job step? That is, copy the configuration file to the D:\ drive on the remote server, in Configurations tab, add the configuration
file on D:\ to the configuration. Will it work? Will the package still look for the original config file on C:\? and if it doesn't find it there, will it cause any error?
Thank you in advance for your help.
Regards -
Hi Everyone,
I having a problem to transfer data from MS SQL 2005 to IBMAS400. Previously my SSIS was running perfectly but there is some changes I need to be done in order for the system to work well. Considers my changes are minimal & just for upgrades (but I did
include DELETE statements to truncate AS400 table before I insert fresh data from MS SQL table to the same AS400 table), so I compile my SSIS package & it run successfully & I passed it into MS SQL Integrated Service as 1 of the packages & manually
executed the package & the result is the same, that mean it was successful again but when I try to run it in a MS SQL Job Scheduler, the job failed with these message shown below as extracted from the job View history.
Date today
Log Job History (MSSQLToAS400)
Step ID 1
Server MSSQLServer
Job Name MSSQLToAS400
Step Name pumptoAS400
Duration 00:00:36
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0
Message
Executed as user: MSSQLServer\SYSTEM. ... 9.00.4035.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: today time
Error: on today time
Code: 0xC0202009 Source: SSISMSSQLToAS400 Connection manager "SourceToDestinationOLEDB"
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80004005. An OLE DB record is available.
Source: "IBMDA400 Session"
Hresult: 0x80004005
Description: "CWBSY0002 - Password for user AS400ADMIN on system AS400SYSTEM is not correct ". End Error
Error: today
Code: 0xC020801C
Source: Data Flow Task OLE DB Destination [5160]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "DestinationClearData" failed with error code 0xC0202009. There may be error messages posted before
this with more information on why the AcquireConnection method ca... The package execution fa... The step failed.
So I hope somebody can shed some hints or tips for me to overcome time problem of mine. Thanks for your help in advance. As I had scoured thoroughout MSDN forums & found none solution for my problem yet.
PS: In the SQL Integrated Services when I deployed the package I set the security of the packages to Rely on server...
Hope this will help.Hi Ironmaidenroxz,
From the message “Executed as user: MSSQLServer\SYSTEM”, we can see that the SQL Server Agent job ran under the Local System account. However, a Local System account doesn’t have the network rights natively, therefore, the job failed to communicate with
the remote IBMAS400 server.
To address this issue, you need to create a proxy account for SQL Server Agent to run the job. When creating the credentials for the proxy account, you can use the Windows domain account under which you executed the package manually.
References:
How to: Create a Credential
How to: Create a Proxy
Regards,
Mike Yin
TechNet Community Support -
SSIS package works in Visual Studio but not as a scheduled Job.
I have a SSIS package that takes some CSVs and Excel documents and imports the data into a database. The CSVs and Excel document come from outside agencies so I have no control over them. I have successfully created and ran the SSIS package in
BIDS (Visual Studio) However, when I try to run it as a scheduled job on the SQL server I get the following error.
Source: Import Brazos CSV data Brazos Co CSV [1] Description: Data conversion failed. The data conversion for column "offDescription" returned status value 4 and status text "Text was truncated or one or more characters had no
match in the target code page."
The column is set to ignore on truncation in the data flow source.
Any suggestions would be appreciated.
Thanks
KJ
Kevin JoynerHi Kjoyner96,
The error usually occurs due to the data conversion between non-Unicode and Unicode characters. According to your description, the data type of the Output Columns of the Flat File Source should be DT_STR. If the source flat file uses Unicode encoding and
contains Unicode characters, the data conversion from DT_WSTR to DT_STR will fail. So, I guess the source file in your Dev environment doesn’t have Unicode characters, while the source file on the SSIS server has Unicode characters. If this is the case, open
the Advanced Editor for the Flat File Source, switch to the Input and Output Columns Properties tab, and change the data type of the Output columns from DT_STR to DT_WSTR. In this condition, the Data Conversion Transformation is not necessary.
Regards,
Mike Yin
TechNet Community Support -
SQL agent scheduling for SSIS package
I have a package with a souce and destination connection using login as 'sa'.
I created a scheduling task to call this package for running. However the sql agent service is running as domain user . It required to be running as domain user as per requirement.
Thus when I scheduling the package for execution, it hit error.
Please advise what I can do in order to be able schedule the ssis package?
Thanks in advance.Here is the step that I create the proxy :
https://www.simple-talk.com/sql/database-administration/setting-up-your-sql-server-agent-correctly/
I try to create the proxy but still have error as below:
Executed as user: YS2H\svr_agent. Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 32-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 8:21:26 AM Error: 2015-03-27
08:21:26.24 Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified
state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2015-03-27 08:21:26.44 Code: 0xC0016016
Source: Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error
occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2015-03-27 08:21:27.03 Code: 0xC0202009 Source: 1001_Import_DownloadRoadCard Connection manager
"Destination" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0"
Hresult: 0x80040E4D Description: "Login failed for user 'sa'.". End Error Error: 2015-03-27 08:21:27.03 Code: 0xC00291EC Source: Evaluate Completion Status Execute SQL Task
Description: Failed to acquire connection "Destination". Connection may not be configured correctly or you may not have the right permissions on this connection. End Error Error: 2015-03-27 08:21:27.05 Code: 0xC0202009
Source: 1001_Import_DownloadData Connection manager "Destination" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source:
"Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E4D Description: "Login failed for user 'sa'.". End Error Error: 2015-03-27 08:21:27.05 Code: 0xC00291EC Source:
Record Start of Job Execute SQL Task Description: Failed to acquire connection "Destination". 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 (1). Started: 8:21:26 AM Finished: 8:21:27 AM Elapsed: 0.983 seconds. The package execution failed. The step failed.
Thanks for your help. -
Hi Experts,
I am trying to configure my SSIS packages.
I have a master package to call child packages for Dimernsions and Facts.
Below are my two main approaches for configuration
1. Configuring all packages to read a single XML file for database connections and File paths.
In this case if someone want to change the location of config file then I need to change all my package. Is there any other issue with this approach?
2. Configuring via parent package variable. Here I will use the values from the parent package.
But after I did this , if we open the package the connection managers will throw error when we migrate to other server as the hard coding of the connection manager not matches with the actual database. If we run the master package it will
run successfully as it get the correct value from the master package.
Here Is there any way avoid this poping of error?
Please suggest what would be the best way ?
Regards
MukejeeHi Mukejee,
The error occurs because the variables passed from the parent child cannot get their runtime value in the child package at design-time. To avoid this issue, we can set the For your first approach, to avoid updating the Package Configurations after moving
to a new server, you can create environment variables on the each server, and export the relevant package configurations to the environment variables.
In reality, we can set the DelayValidation property of the Connection Manager as well as the Data Flow Tasks in the source package so that they don’t prompt for the error messages after being opened in the BIDS/SSDT on a new server.
Regards,
Mike Yin
TechNet Community Support -
SSIS Package configuration.
The SSIS packages is developed using BIDS 2008 and Database SQL Server 2008 R2.The package was developed in local box/Developement box and since the
connection string is pointing to local box , it works fine and data got loaded into the target tables.
When the SSIS packages is moved from Dev box to Pre Production or Production box , the package need to be modified since the database connection string
of local is different from Prod box.
To achieve the above process xml configuration has been done which contains the connection string details, but xml is pointing from the dev box path which might not exists in the prod box, so the package need to be open in Prod box and modify the xml file
path again, which the Client is not suppose to do..
To avoid that an Environment variable need to be created which will contain the xml path.
But xml is not that much secure compare to database configuration. So they advice us to configure by SQL Configuration.
The Configuration table will be created in the Db and with the help of SQL Job , the SSIS package will be scheduled, but if the tomrrow the database server
changes the package need to re open again and modify the connection string for the configuration tables.
Could you please suggest the best possible solution for SSIS package configuration when the User move the package from Dev box to Prod Box
with least possible modification.Hi SubhadipRoy,
Just adding to ltz's suggestion. SSIS provides several options for handling package configuration values such as environment variables, XML files, registry settings, and a table in a SQL Server database. We can store the package configuration parameter values
in a SQL Server database table, then use those stored values when executing the package.
As per my understanding, I think this method is a better solution. Because when we move the package from Dev box to Production box, we can directly use simple T-SQL commands such as INSERT, UPDATE and DELETE to change the configuration data without changing
the package.
For more information about SQL Server Integration Services SSIS Package Configuration, please refer to the following blog:
http://www.mssqltips.com/sqlservertip/1405/sql-server-integration-services-ssis-package-configuration/
If there are any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
How to pass parameters to sql agent job run configured ssis package
Hi all,
I have a big problem at my small project.
I build my SSIS package that get its variables values from a configuration file..
and when i build a SQL agent job to run this package in a schedule i set the values of variables in it .. but in run-time the package still get its parameters from the configuration file !??
any help please ?>SQL agent job to run this package in a schedule i set the values of variables in it
One way, setup a configuration table for the package. Let the package read the values for the variables from there.
Kalman Toth Database & OLAP Architect
SQL Server 2014 Design & Programming
New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012 -
SSIS Package with Scheduled Task
Hi there,
We have on a SQL-Server some SSIS Packages which refers to Navision. If I start the job manually directly in Navision, it works fine. If I start the Job in MSSQL manually (SQL Server Agent --> Jobs --> 'MyJobPackage' --> Start Job at Setp) or through
the Job Activity Monitor ('MyJobPackage' --> Start Job at Step) it works also fine without any problems. But if the Job starts automatically (Scheduled Job in MSSQL) it will never end. So the Job is running endless. Now, we thought we could try to start
this SQL Job with a Scheduled Task in Windows. So I created a cmd-File with the following line:
dtexec /f "E:\SSIS Schnittstelle\TEST_Navision2XAPF\Navision2X.APF\bin\EGHU.dtsx" /De MyPassword
And then I get this errors:
C:\Users\exprma\Desktop>dtexec /f "E:\SSIS Schnittstelle\TEST_Navision2XAPF\Navision2X.APF\bin\EGHU.dtsx" /De MyPassword
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.2500.0 for 64-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started: 10:17:44
Progress: 2014-03-12 10:17:45.32
Source: Dimensionen
Validating: 0% complete
End Progress
Error: 2014-03-12 10:17:45.34
Code: 0xC0047062
Source: Dimensionen Dimension [134]
Description: System.Data.Odbc.OdbcException: ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.Odbc.OdbcConnection.Open()
at Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction)
at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager100.AcquireConnection(Object pTransaction)
at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnections(Object transaction)
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)
End Error
Error: 2014-03-12 10:17:45.34
Code: 0xC0047017
Source: Dimensionen SSIS.Pipeline
Description: component "Dimension" (134) failed validation and returned error code 0x80131937.
End Error
Progress: 2014-03-12 10:17:45.34
Source: Dimensionen
Validating: 4% complete
End Progress
Error: 2014-03-12 10:17:45.34
Code: 0xC004700C
Source: Dimensionen SSIS.Pipeline
Description: One or more component failed validation.
End Error
Error: 2014-03-12 10:17:45.34
Code: 0xC0024107
Source: Dimensionen
Description: There were errors during task validation.
End Error
DTExec: The package execution returned DTSER_FAILURE (1).
Started: 10:17:44
Finished: 10:17:45
Elapsed: 0.999 seconds
So what could I try at the next step?
Regards
ÖFESHi Öfes,
Based on the error message when executing the package from batch file and the solution provided by Visakh, we can conclude that the package uses 32-bit ODBC drivers. Now let’s go back to the original SQL Server Agent job issue. Since you can run the job
manually from SSMS, the package should run in 32-bit SSIS runtime mode, e.g. the “Use 32 bit runtime” option should be checked for the package executions with in the job step. In this case, SSIS automatically uses the 32-bit DTExec utility, therefore, we don’t
need to specify the 32-bit DTExec utility in the command line for the job step.
Based on the current information, the issue may occur due to two possible factors:
The Dimension component in the package uses User DSN rather than System DSN.
The user account under which the job runs doesn’t have sufficient permissions to execute the package.
So, please try the following steps:
Open the C:\Windows\SysWOW646\odbcad32.exe, and make sure the DSN is a System DSN which can be accessed by any user on the server.
Create a new SQL Server Agent proxy account which has sufficient permissions to execute the package, for example, the user account that you execute the job manually from SSMS.
Reference:
http://technet.microsoft.com/en-us/library/ms190698(v=sql.105).aspx
Regards,
Mike Yin
TechNet Community Support -
Hi ,
While scheduling SSIS package i am getting following issue can anyone help me how to overcome or fix this problem
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.
ADDITIONAL INFORMATION:
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.
Niraj SevalkarHi,
Are you trying to import a different version into the Wrong server. i means are you trying to
import a 2008R format package onto a 2005 server. You cant do that.
Regards, PS
Maybe you are looking for
-
Can't copy text to Microsoft Works 2007 Word Processor.
I have Windows 7. I never had a problem with my Windows XP. When I try to paste to Word Processor, a window pops up and says The information you copied exceeds the size limit for pasting into Word Processor. Try reducing the size of your selection. I
-
I cant open my applications folder due to insufficient privileges
we just got hooked up to new internet, now only one profile can open any application. Including safari... what could it be? i tried deleting the account and reopening one....
-
Attachment for Purchase Requisition
How to retreive a attachement of a Archived Purchase Requisition. The attachement is created by using services for the object option (Not at line item level)
-
External convert samples don't work for PCI-6111
I'm trying to use an external convert signal for a single channel acquire on a PCI-6111. I'm using VB. The supplied example (DAQSingleBufExtConv_Eseries) doesn't work. I get error # -10003 at the DAQ_Config call. I have tried all sorts of combination
-
I just downloaded a video in HD, but I found out after the download was over my computer doesn't play HD videos. Is there any way I can return the video and get the SD version, or upgrade my computer so it will play the HD video?