SSIS Package Deployment With C# Problem
Jan 27, 2006
Hi,
I try to deploy a SSIS Package with the method SaveToDtsServer of Microsoft.SqlServer.Dts.Runtime.Application.
My C# project is to deploy a SSIS Package in a Setup Application (My project has a Installer Class).
It's work several times, but suddenly It stop working without change in my code.
There's a System.BadImageFormatException : Message="Invalid access to memory location. (Exception from HRESULT: 0x800703E6)"
Source="Microsoft.SqlServer.ManagedDTS"
StackTrace:
at Microsoft.SqlServer.Dts.Runtime.Application.SaveToDtsServer(Package
pPackage, IDTSEvents pEvents, String sPackagePath, String sServerName)
at TestPackageDeployment.Form1.button1_Click(Object sender,
EventArgs e) in
D:DEVTestPackageDeploymentTestPackageDeploymentForm1.cs:line 41
I try the SaveToSqlServer and SaveToSqlServerAs, but it doesn't Work, it's return the same exception. On the other hand, the method CreateFolderOnDtsServer works perfectly.
It' happen to me on a Win2003 and WinXp. I Use SQL Server 2005 + VS 2005.
here is my code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Management.Smo;
using MSDR = Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Management.Smo.Agent;
namespace SSIS_API
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Microsoft.SqlServer.Dts.Runtime.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
Package pkgSSIS = new Package();
pkgSSIS.Name = "Integration";
try
{
//app.SaveToSqlServer(pkgSSIS, null, "BGSXP-267", null, null);
app.SaveToDtsServer(pkgSSIS, null, @"File SystemmyPackage", "BGSXP-267");
}
catch (Exception err)
{
MessageBox.Show("Erreur : " + err.StackTrace.ToString());
}
finally
{
this.Close();
}
}
}
}
View 7 Replies
ADVERTISEMENT
Feb 25, 2008
Hi all,
I am trying to write a simple application which simplifies package deployment to SSIS. Basically it allows one to select a folder which contains dtsx-packages and the it would upload those files to the MSDB in a folder of choice on the MSDB.
To do this I thought it would be nice to use the Integration Services API (Microsoft.SQLServer.Dts) and use the objects DTS.Runtime.Application and DTS.Runtime.Package.
The result would be this in a nutshell:
Dim dtsApp As New Dts.Runtime.Application
Dim pkg As Dts.Runtime.Package
pkg = dtsApp.LoadPackage(File.FullName, Nothing) --loading the package from the filesystem
dtsApp.SaveToSqlServerAs(pkg, Nothing, strPackagePath + PackageName, strDestinationServer, Nothing, Nothing)
However if I try to execute this the I end up with an Strace-assertion error.
Searching for that error lead me to the following post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2173800&SiteID=1
After some more research I found the cause of my problems. I only had SSMS (The workstation components) installed on my development-pc. Someone suggested that installing Integration Services would solve it and after testing this it indeed solved it, but this still didn't solve my problem. The tool I am writing is going to be used on production-workstations which only have the Workstation components installed and installing Integration Services there isn't likely going to happen. Mostly because having SSIS installed locally doesn't have a function; the packages will be deployed to a remote server right after they are loaded from the file.
Trying to find an alternative lead me to Dtutil which miraculously enough does seem to work if given the right parameters, but to me this feels like a dirty solution. I feel it shouldn't be necessary to resort to using System.Diagnostics.Process to manually start Dtutil in the background when I have this nice api specifically designed for SSIS.
Is there anyone here that has a suggestion or an idea how to deploy packages using the Dts.Runtime.Application without installing SSIS on my local workstation?
View 6 Replies
View Related
Sep 21, 2007
Hi, All,
I am using Package Configuration to simplify SSIS package deployment process. All the configuration information are stored in XML file. So far so good, However, since I have many, 20, packages. For each package, there is one configuration file to it. During the deployment process, I have dynamically modify connecting string (server name, DB name) to new ones. It ends up 20 or more modification and it's eaily for me to make mistake. Is there any workaround such as setting up environment variable, I guess, to allow me only modify once and apply it to all the packages?
TIA,
John
View 5 Replies
View Related
Feb 27, 2006
I have designed a few SSIS packages in the BI Development studio and deployed them to the msdb database of my SQL server using the generated Deployment Utility.
They deployed and executed just fine, but, I would like to better organize them into folders within the msdb storage area.
Is there a way to tell the project or the generated Deployment Utility to deploy the packages to a specific folder within the SSIS Packages / msdb storage area on the SQL server?
Thank you for any help!
-Tim
View 4 Replies
View Related
Dec 5, 2007
Hi,
Is it possible to determine the date a SSIS package was last updated?
Our packages change on a regular basis so being able to determine the date that it was last updated is very useful. I can only find the creation date.
Cheers,
Melissa
View 1 Replies
View Related
Feb 7, 2008
This is regarding one package where we are trying to deploy the package through €śSql Server deployment€? using .dtsx, .dtsConfig and manifest files, but after deployment the package is not found in €śmsdb€?. Instead it is reflecting in €śfile system€? folder. The same behavior is observed repeatedly when we tried to deploy the package.
We have seen such behavior only in this package. Please help us in solving the above scenario.
View 1 Replies
View Related
Jan 24, 2007
Hi:
After moving my deployment folder to the Target Server, I run the Installation Wizard. As I move next, I am missing the window which is supposed to allow me to set package config values as stated in MSDN:
"If the package includes configurations, you can edit updatable configurations by updating values in the Value list on the Configure Packages page."
Source: http://msdn2.microsoft.com/en-us/library/ms141802.aspx
Does anyone know why I am not seeing it? In my deployment bundle which I have moved over has currently 3 files:
1) SSIS Deployment Manifest
2) SSIS Package
3) SSIS Config File
Again, I double click on SSIS Deployment Manifest, and it starts fine. I go thru the steps for File System Deployment, and then it prompts for installation folder path. After that, it takes me directly to validation. Why is it not showing me the Configure Packages Page as described in the MSDN Documentation. Please advise. Thanks.
View 5 Replies
View Related
Aug 15, 2007
Hi,
Please can you let me know which of the following 2 is a better method to deploy SSIS packages
File System deplyment OR SQL Server deployment
What are the advantages of one over the other?
Thanks,
Mrinali
View 4 Replies
View Related
Mar 6, 2006
I've been searching for an answer to my question quite some time now and I've not been able to figure it out yet.
Situation:
- I've created a SSIS package containing a bulk insert task.
- I've added a package configuration containing the appropriate connection manager (i.e. dev, beta or live)
- CreateDeploymentUtility = true
- I've copied the deployment folder to our beta server and I started the manifest file to install the package to the sql 2005 server, after that I specified the config file location and changed the value so the approriate connection manager is used.
- When I execute the package from the sql server the package doesn't read the value from the xml config file, it uses the connection which was originally specified in the package, whereas when I run the package from my BIDS it is reading the value from the xml config file?
I can't seem to figure out why this is happening? am I missing something here?
Thnx.
View 1 Replies
View Related
Apr 14, 2008
I'm slowing coming up to speed on configurations and deployment.
I have 2 questions for this thread.
Question 1:
When I create the deployment manifest (the file that gets created when I build) and then run it on the destination machine, there's a step in the wizard that asks for a folder location. The exact page on the wizard is called "Select Installation Folder", just to make it clear what I'm talking about.
What significance does this folder have? I noticed that when I was using the XML config option, the config file appeared there (and nothing else). When I use the SQL Server config option, I didnt see anything going into that folder. Are these the expected results in each case?
The description on that wizard page says, "The installer will install the SSIS package dependencies in the following folder." I'm not sure what this means and if I should expect more than the XML config file to appear in there (in the case when I used XLM config option). What are the "dependencies", other than the config file, that the wizard is saying that the folder will have?
Question 2:
I've been playing with deployment and there's a bunch of "play" packages that are on my test server. How do I clean these up?
View 10 Replies
View Related
Jun 18, 2007
Hi,
I have a standalone SSIS package that I wish to deploy from the file system, as opposed to SQL Server deployment.
Anyways, I was wondering if there's a command line utility for running SSIS packages on an ad hoc basis? What I was thinking was that I would put the call to the command line in a stored procedure using xp_cmdshell, so that the package can be called that way.
Am I thinking about this correctly?
Thanks
View 17 Replies
View Related
Apr 8, 2008
I went thru the online tutorial, but I was not able to finish "Deploying Packages Tutorial" because for some reason the sample packages they had use in the tutorial came up with errors when I added them to my project.
EDIT: See the following post for the trouble I ran into using the sample tutorial. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3145471&SiteID=1&mode=1
But I read thru the rest and I was able to get the gist of it and I did a simple example on my own.
And here are some questions.
In my example, I have one package that does a simple load from an XL spreadsheet into a database table. The package also writes some kickout rows (bad data) to a flat file. To keep the example simple, I configure just one value in the .dtsConfig file, and that is the server name.
Question:
(1) According to the tutorial, after I've created the deployment bundle I'm supposed to copy this over to the destination computer and run it there. Can't I just run it from my computer and choose where to install the package in the Package Installation Wizard? That's what I did and it worked and I am able to see the package on the target SQL Server. So, I'm wondering why I need to copy the demployment bundle to the target and run it there.
(2) In the Package Installation Wizard, there is a step called "Select Installation Folder". And the description on this page says, "The installer will install SSIS package dependencies in the following folder". Without knowing what this is going to do, I just picked a folder, and finished out the wizard. When I go and check that folder after the wizard is completed, I see that the .dtsConfig file got put there (on my local machine). What implication does this have? (I don't know how to schedule a job in SQL Server Agent, so I havent actually tried running the deployed package.) I'm going to guess the package is not going to run because the config file ended up in my machine.
(3) In my example, I could've also configured the connection string for the XL file and the flat file directory for the kickout data. But since the file names are a part of the connection string and the file names are likely to remain the same, but the directory locations may change, should I handle this with system variables? (Where the variable will contain the directory path only)
View 4 Replies
View Related
Aug 30, 2006
Hey, I've a few jobs which call SSIS packages. If I run the SSIS package, it runs fine but if I try to run the job which calls this package, it fails. Can someone help me troubleshoot this issue? None of my jobs that call an SSIS package work. All of them fail.
Thank you
Tej
View 7 Replies
View Related
Jul 9, 2007
In reference to the question raised in this thread
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1460591&SiteID=1
Since I'm not able to create a deployment utility, when a config file is shared among multiple packages and also I cannot get the permission from Sys Admins to use Env. Variables I'm struck.
Now I'm thinking of importing the package to Sql Server from the file system. Is there any caveats in this approach? especially regarding the config files?
[edit]
Also, do I need any special permissions to view the Integeration Services node in Management Studio? We are using Integerated Authentication, neither do I'm able to run sp_start_job sp in the msdb database.
[/edit]
Thanks
View 1 Replies
View Related
Jan 10, 2006
For the past few months I've been developing an DW and ETL with SQL
2005 / SSIS. My packages are being deployed to a SQL
Server. Although in the end game we will have a
Dev/Staging/Production environments, I would still like to archive
production packages when we push staging to production.
Essentially I would like to archive the last X packages that were
deployed to production where X is a reasonable number (3 - 5). I
don't necessarily need to have them accessible to run. One of the
purposes is to have another safeguard should we miss anything in user
testing and need to roll back a deployment.
I am utilizing VSS and we will have backups running on the production
server, but I would prefer to have a archive that is a little more
accessible.
I just wondering if anyone has any thoughts on how to extract/archive
production packages when the push is made. I could easily develop
an app that queries the MSDB and exports the packages to the file
system.
Anyone have any thoughts?
Larry Pope
View 2 Replies
View Related
Apr 9, 2007
Hello,
I have two SSIS packages in the same project with, for each one, a (XML) configuration file.
I have created a Deployment Utility file (.SSISDeploymentManifest).
My problem is that, when I execute that utility file, I can't deploy more than one configuration file, the UI only ask for one.
Is anyone can help me ?
Thanks a lot.
Alexis
View 1 Replies
View Related
Nov 17, 2003
I need to design an asp.net application w/ and MSDE backend database that will be deployed at 50 different location (unrelated to each other). The application's deployment package needs to be downloaded from a web site on the internet. The end user locations do not have SQL2000 or MSDE...some have access.
I want to know if my deployment package can include the MSDE software? Or, can anyone offer ideas on the EASIEST way for these small offices to get MSDE installed on each of their servers so that my ASP.NET applications will connect to via ado.net.
Thanks for any ideas.
View 1 Replies
View Related
Jan 18, 2008
Trying to build a deployment package. I have a number of dtsx in a project that share a connection config file. When I build, the error states: 'Could not copy file "whatever.dtsconfig" to the deployment utility output directory. ... The file already exists'
What am I doing wrong?
View 7 Replies
View Related
Sep 12, 2006
My parent package calls packages stored in the file system. While developing, I would like to call packages in the project bin directory. In production, I would like to call packages in a different development. Is this possible?
I can change the package connection string with an expression that refers to user variables PackageLocation1 or PackageLocation2. I would like to do this automatically. Is this something that should be done at deployment time? Or is there a run time value that I can check and conditionally use PackageLocation1 or PackageLocation2?
Development and deployment is done on the same server, so the same enivronment variable value would be used in an indirect configuration. Same thing applies to a file configuration.
Another question: Is it possible to set up a different Installation Folder for use during deployment? Every time I deploy, I have to navigate the folders, you can't even paste in the folder name.
View 4 Replies
View Related
May 14, 2008
I have a very odd problem. I have a package which uses some custom tasks that were written in C#. When the package is deployed to our production server, *some* of the property values for *some* of the tasks are cleared. For example, I have these five tasks:
FP Export File Logger
FP Import File Logger
FP Import Table Logger
FP Instance Logger
FP Job Reader
All of them inherit (of course) from Microsoft.SqlServer.Dts.Runtime.Task. All of them have custom members (some similar, some different), and of course, different implementation (though they are mostly the same). This test package has one instance of each of the different tasks.
As I said above, when we deploy to our production server, *some* of the property values for *some* of the tasks are cleared -- but when deployed to our dev server, everything remains intact.
Here is what is cleared:
- On 4 of the 5 tasks, the Description property (inherited by Task) is cleared, but the other one remained intact
- On 3 of the 5 tasks, the Connection property (custom property in all tasks) is cleared, but the other two remained intact
- 3 of the tasks have other string properties that were set, and all of these were cleared
We can reproduce this on two different production servers, and these two servers have some different configurations, suggesting these would not be the culprit:
- They have different service packs (one is build 2047, the other build 3042)
- One has the custom SSIS components installed (in the GAC), the other one does not
Our development server, where the package is deployed as expected, has build 2047 w/ the components installed.
Here are the packages, where you can compare and see the differences (using a text comparison tool):
Dev-GOOD.xml
Prod-BAD.dtsx
These were created after being deployed by importing within a Visual Studio SSIS project from the server.
Any suggestions would be *greatly* appreciated, as we are totally stumped as to why this is happening.
EDIT: Additional clues, this package is deployed to the MSDB. If it's deployed to the File System, it remains unmodified.
Thanks in advance.
Jerad
View 2 Replies
View Related
Dec 15, 2006
Hallo,
I'm currently strugling with the setup of our packages for deployment to a new environment.
We are working with a master/detail package setup. One master package is created that will call all child packages. In the master package we don't have any connection towards our source and/or target databases/sourcesystems.
Everything works fine, however, starting to deploy the whole set of packages, it seems that we don't have the option to set specific properties of our detailed packages, e.g. connection properties. But this is just what we need.
When we are adding a job in the Job Agent for our master package to be scheduled, we want to be able to set all different connection manager properties, not only the one from the master package and definitely the ones from the detailed packages as there we switch the connections from the development environment towards the acceptance environment.
I tried to fix this with parent package variables, but I can't set the password property, only the ServerName and UserName can be set, not the Password.
Anyone an idea what the easiest and best approach is to solve this burden?
Thx
View 1 Replies
View Related
Jan 22, 2007
Hi,
We are trying to create a deployment utility for a solution. The issue we are facing is, we are using a single package configuration file and when we try to build the solution to create the deployment utility, the build process fails saying that the package configuration file already exists. THe reason for this is while trying to build, the utility copies the configation fiel for the packages, it copies for one, but for the second onward, when it tries to copies, it fails saying the file already exists.
Any idea how to overcome this, or else any suggestions how to perform the similar steps to create a deployment utility for a solution in which the packages share a single package configuration file.
Any suggestion would be really appreciated.
Thanks in Advance,
Manish Singh
View 5 Replies
View Related
Aug 22, 2006
I'm trying to deploy an SSIS package to a server ("SQL Server" deployment). The package does have an encrypted password, which has both worked nicely and not in the past. It's entirely possible that our other "DBA" has busted something on the server, thus preventing my access to it, but I'm curious if anyone has any experience w/ error code 0x80004005 (Login timeout expired) in the SaveToSqlServer method.
Is that just the generic you-can't-log-in message, or is it really trying to imply that the SQL Server is not responding to login attempts?Thanks for any help, Ben
=================================== Could not save the package "C:Documents and SettingsfooarinDeploymentfoo.dtsx" to SQL Server "BAR". (Package Installation Wizard) =================================== The SaveToSQLServer method has encountered OLE DB error code 0x80004005 (Login timeout expired). The SQL statement that was issued has failed. ------------------------------ Program Location: at Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServer(Package package, IDTSEvents events, String serverName, String serverUserName, String serverPassword) at Microsoft.SqlServer.Dts.Deployment.DtsInstaller.SavePackageToSqlServer(WizardInputs wizardInputs, String packagePassword, Boolean bUseSeverEncryption, String serverName, String userName, String password, String packageFilePath, List`1 configFileNames) at Microsoft.SqlServer.Dts.Deployment.DtsInstaller.InstallPackagesToSqlServer(WizardInputs wizardInputs) =================================== The SaveToSQLServer method has encountered OLE DB error code 0x80004005 (Login timeout expired). The SQL statement that was issued has failed.------------------------------ Program Location: at Microsoft.SqlServer.Dts.Runtime.Wrapper.ApplicationClass.SaveToSQLServer(IDTSPackage90 Package, IDTSEvents90 pEvents, String ServerName, String ServerUserName, String ServerPassword) at Microsoft.SqlServer.Dts.Runtime.Application.SaveToSqlServer(Package package, IDTSEvents events, String serverName, String serverUserName, String serverPassword)
View 9 Replies
View Related
Sep 13, 2007
Is there a way that would allow me to deploy ssis for end user in a given file, where the end user simply clicks some icon that will tiger the ssis deployment process?
View 2 Replies
View Related
Oct 19, 2007
Hi All,
I am able to execute my ssis package from BID environment using SQL Server Authentication. However, when I deploy the package on SQL Serve 2005 using Windows Authentication, the package fails. The package is a simple one, it read two servers, truncate tables and load the data on the destination server.
I am not sure why this fails when I execute the package on the server environment, but works fine when I run it from BID.
Any help would be greatly appreciated.
Thanks
View 4 Replies
View Related
Mar 11, 2008
Hi
I am looking at deploying some ssis package's as files, my question can I install just integreation services on on server to run the packages or do I need the full installation of sql server 2005
Bimal
View 4 Replies
View Related
Jun 1, 2006
Hi,
I would like to deploy my SSIS Package in my web server rather than Database Server. So anyone please give me some suggestion to implement this.
Also I wanted to know whether I should have a SQL Server instance in the server where I am deploying my SSIS package?
Its pretty urgent. Help please.
Thanks & Regards,
Prakash Srinivasan.
View 3 Replies
View Related
Oct 18, 2006
Hello,
I would like to know how to set up the SSIS package with the DATABASE, SERVER NAME and Connection String into variables, so that I can change these parameters of the deployement, on another name of server and database (and connection string).
Thanks a lot for your advices !
Marie-Thérèse
View 7 Replies
View Related
Oct 18, 2006
Hello,
What should I do to change the server name and the database when I deploy a package on another machine ?
SHould I change the value inside the configuration file (format XML) ?
Thanks in advance for your advices !
View 4 Replies
View Related
Oct 23, 2006
I ahve read previous posts on this but didnt get a clear answer for what I am trying to do.
I have couple of SSIS packages running in y dev environment, we will be moving this into production soon. These pachakes will be called from the webapp to run once the flat files are uploaded.
Production environment has separate web server and Sql server box. Now how do I deploy the packages and where...on webserver or sql server box?
workflow is user uploads a file which is saved on the webserver and then the package will start to upload the data to the SQL Server db. I have seen that while storing the location of the flat file in the configuration file for the package it stores the hard coded path of the flat file is there a way for to save the UNC path or how can I tell the SSIS config file to look for the file on the webserver?
During deployment if I want to save the SSIS packages on to the SQL server do I still have to install SSIS components on the webserver...? or if I choose to save it as file system on the Webserver what do I neeed to install on the webserver so that the packages can be executed from the web app?
Excuse my long post but wanted to give a clear overview of the problem...
Appreciate your help in advance...
Regards
View 4 Replies
View Related
Jul 14, 2006
Several SSIS are deployed from a server A to a server B (Integration Services) with a SQL user and are stored in MSDB
- Most of the SSIS have their connection only after SSIS have been launched ; Delayvalidation is set to true.
- Application user the same SQL user from server A can launch the SSIS.
- But the same application on server C cannot launch the SSIS. The error is : OLE DB Connection error for the connection string
- Server A, B , C are Windows 2003 Server and belong to the same Windows Domain.
Can you suggest me some tips ?
View 1 Replies
View Related
Apr 16, 2008
Hi all,
I would like to deploy my SSIS project on the production server. As far as I know from the last deployment, I had to change configuration managers to data sources to the ones of the production server. I had to go through all packages and change it. What is the best way to do this? I.e. Can I do it through a configuration file?
Thanks.
View 1 Replies
View Related
Oct 12, 2007
I have developed the SSIS project, but I have a problem with deployment. My users are statistic people and SSIS packges they use are cleaning the raw data for them. Since they would like to run this SSIS package by themselves whenever they want, I need some deployment method that is easy for them to run (they are really not IT oriented people). The problem I encountered is that there is no visual studio (integration service client) installed on there computer, but they are allowed to access several dbs and server on the net.
Can someone tell me what is the best solution for this type of deployment?
View 4 Replies
View Related