I am using the "Transfer SQL Server Objects Task" to copy some tables from database A to database B including data.
The tables, primary key constraints, Foreign key, data and all transfers nicely except for "DEFAULT CONSTRAINTS" on the tables.
I have failed to find any option in the "Transfer SQL Server Objects Task" task to explicitly say "copy default constraints". So I guess logically it should happen automatically but it doesn't. I hope it is not a bug :-)
In short, does the €œTransfer SQL Server Objects Task€? support distributed transactions?
In trying to use a €œTransfer SQL Server Objects Task€? in a container using a transaction on the container. The task is set to support the transaction. It is setup to copy table data from several tables from a non-domain server (sql server 2000) to a domain-based server (sql server 2005). I get an error stating, €œThis task can not participate in a transaction€?.
I am wondering if it means exactly what it says €“ this task in SSIS can€™t participate at all. Or does it mean that it won€™t in this scenario for some reason. I attempted a simple copy of data from mssql 2005 to mssql 2005 (same server) and the task still failed). MSDTC appears to be running properly on my machine and such (I can do a simple distributed transaction across linked server to the 2000 server in Query Analyzer (QA)). Also, MSDTC appears to be working on both servers with distributed transaction query tests in QA.
Here€™s the error info€¦
SSIS package "Development BusinessContacts and Products Migration.dtsx" starting. Information: 0x4001100A at Copy BusinessContacts Data: Starting distributed transaction for this container. Error: 0xC002F319 at Copy BusinessContacts database table data 1, Transfer SQL Server Objects Task: This task can not participate in a transaction. Task failed: Copy BusinessContacts database table data 1 Information: 0x4001100C at Copy BusinessContacts database table data 1: Aborting the current distributed transaction. Information: 0x4001100C at Copy BusinessContacts Data: Aborting the current distributed transaction. SSIS package "Development BusinessContacts and Products Migration.dtsx" finished: Failure. The program '[4700] Development BusinessContacts and Products Migration.dtsx: DTS' has exited with code 0 (0x0).
A common issue that I run across with clients is they want only want to process a file if it's finished transmitting to the server. This SQL Server 2005 task reads the properties of a file and writes the values to a series of variables. For example, you can use this task to determine if the file is in use (still be uploaded or written to) and then conditionally run the Data Flow task to load the file if it's not being used. You can also use it to determine when the file was created in order to determine if it must be archived.
I've created my own posting for this. The original post was here, I apologize: http://forums.microsoft.com/forums/ShowPost.aspx?PostID=2906512&SiteID=1
According to the poster it's not possible. But there has to be some way to do it? Reflection (don't know how)?
I need to get a reference to the task host in an SSIS Task component.
Basically the scenario is this:
I have a custom task I have created. However I would like to validate that the ExecValueVariable is infact a string variable during the validate event of the task. I know how to verify its a string variable. But I can't figure out how to read what the user selected (such as User::Myvariable). The only way I've been able to figure out how to do it, but it only works if you open my custom task UI.
What I did is this:
I've implemented IDtsTaskUI and during the initialize section I wrote:
Sub Initialize(ByVal taskHost As TaskHost, ByVal serviceProvider As IServiceProvider) Implements IDtsTaskUI.Initialize ' Store the TaskHost of the task. Me.taskHostValue = taskHost Dim myTask As CustomTask= CType(taskHost.InnerObject, CustomTask) myTask.myTaskHost = taskHost End Sub
My Task is named: CustomTask. I have a public variable in my task as follows:
Public NotInheritable Class CustomTask Inherits Task Implements IDTSComponentPersist Public myTaskHost As TaskHost = Nothing
Therefore I pass back the taskhost value to the CustomTask class, and voila I have it.
Problem is, this only works if the custom task calls the initialize method, and this only happens when you open the custom editor.
I then do the validation in my CustomTask class and it works fine, but myTaskHost is null/nothing until you actually open the custom task UI
Sorry guys, I'm really new to this. Can somebody tell me the easiest way to use the FTP task with a dynamic local path. I just want the FTP task to send whatever file is in the directory I specify.
I'm creating a package that extracts data from a table to a pipe-delimited file. I then use an external process (since using Expressions for it was a nightmare) to rename the file so that it'll reflect the previous month (e.g. April2008_report.txt). Then, I have to FTP that file. That's where my problem is. It seems I need to specify the exact filename on the local path of the FTP task, and since the filename will change each month... well, you see my problem.
Is there a way to tell the FTP task to just send *.txt, or something to that effect?
I have a master database. Based on certain criteria's I will be creating one new database. Once I have finished the creation, I have to check the value of a particular column in both database tables.
This is actually a status check. if both are not equal i have to update detail database table column value with master column value.
I thought i can use lookup transform for this. The problem is master database table's status datatype and detail table's status datatype is diff.
Can anyone suggest me any other way for this problem?
In my package i am loading data from a flat file into multiple tables like table1, table2, table3 all tables have a column called cust_num. But data for this column cust_num is only coming in table1 and i need to load the data from this column to other tables how can i do this.
I have written the Dynamic TSQL S-Proc. Below is what i wanted to implement in SSIS using foreach loop container as a cursor. But i am little doubtful whether I can achieve the dynamics to this level. I know everything is possible but is it advisable to go for this simple Sproc or SSIS tasks.
I have some 15 tables being populated using this SPROC.
Here is some helpful description ENTITYNAME gives me the table i need to work FIELDNAME gives me the field i have to work on CHANGEDVALUE gives me the value changed in that field ( This three i get from source table which is about 9000 rows and containing 15 possible ENTITY to be work on and 100's of their respective FIELD )
while in Cursors i need to get using these above variables other variables like FLAG KeyName
Thrugh SQL1 I get the KeyValue
then using this KeyValue check if the data exist update else insert new data.
QUESTION: IS THIS ADVISABLE to go for SSIS task or just carry with SPROC?
I m having an FTP Task in SSIS project, from where I have downloaded .csv file.
And also having a Processed Folder in which the processed .csv files are kept.
Main task is to download file from FTP and check , if the date of downloaded file is newer than file in processed folder, then only process that file. Else skip the processing
I have written a very basic Script Task using VS 2005, it just looks through a sqlDataReader and display a message. I want this script to be triggered by an SQL Agent. I am not sure what to do from this point on. How do I publish or whatever it is called to get it to the SQL server or agent? This is my very first attempt, no I have no clue what I am doing, will need lots of help and tutorials, thanks for reading.
i am trying to generate a dynamic connection string using a variable 'servername' i know where and how to do it but i am not sure abt the details of the paramenters that are to be passed in the script
and anyone give me a sample script
this is what iam trying to do
Public Sub Main() ' Dts.Connections("SQL????").ConnectionString = "Data Source????" + Dts.Variables("servername").Value.ToString() + ???windows authentication and what else ???? ' Dts.TaskResult = Dts.Results.Success End Sub
Hi there, I'm still pretty new to SSIS, what I am really battling with is getting a custom task to work. I have developed a custom task, digitally signed it added it to the Global Assembly Cache, written the UI for it - Pretty much as it is done here: http://technet.microsoft.com/en-us/library/ms136080.aspx but my problem is that when I drag it from the tool box into the control flow pane, I get this message: "The task user interface specified by type name 'XXXXXXXXXXXXXXXXXXX' could not be loaded. (Microsoft.DatatransformationServices.Design).
Does anybody have an idea of what I am doing wrong here?
Please help me i am new to ssis ....I am trying to send an email using mail task and I am sure that ISP works fine with smtp. I am entering all the correct information in the task but it takes a long time to run the task and then comes back with a failure error. can someone help me find an easy way to send an email to group of emails...I even tried to send it to 1 email and it is still not working.
I am new to SSIS. I wanted to do a daily ETL load from sourceA to targetB database
Please let me know the best method to that i should follow to do the below task
1. Get the Yesterday's date or last months's from-date & to-date dynamically. 2. Pass the from-date and to-date to my source SQL [e.g select emp_name, emp_dept from emp where hiredate between @param1 and @param2]. Acually my source sql has subquery and the parameters has to be passed to the subquery's where clause. 3. Insert the resultset into a staging table in the targetB database. 4. Join this targetB table with another table in sourceC db 5. finally load the result set in to the targetT database table 6. How to configure/schedule this package so that it runs daily, automatically pass the yesterday's date to the package.
I have done this using Oracle PL/SQL but my requirement is to do this in SSIS. I am not sure which control flow or transformation items to be used to do this in an effecient way.
When I first installed BI Studio everything was working fine, but I went into it today and I noticed that the FTP task seems to be missing, I can't see it in the toolbox, everything else appears to be their but not that.
Any idea how I can get this back, I really don't wont to uninstall and reinstall at the moment, and I'm not even sure if that would work.
We are unable to retrieve a file from an FTP server using SSIS FTP Task. With the settings indicated below:
IsRemotePathvariable: False
RemotePath: /home/ftpu/test.csv
IsLocalPathVariable: False
LocalPath: working_directory (with Connection Manager entry setup for this)
Operation: Receive files
The following error is produced:
Error: 0xC0029183 at FTP data, FTP Task: File represented by "/home/ftpu/ns_test.csv" does not exist.
Performing a manual ftp works fine, hence suggesting a fault with the SSIS TFP Task. Has anyone else successfully used an FTP task, and if so, any ideas on what's going wrong?
I am using a simple web service task, which posts a SOAP request To a web service and is supposed to get a response back...
I have been able to configure the HTTP Connection (which points to the URL of a WSDL file), and also been able to download the WSDL file onto the desktop....
Iam also able to define the Input - Service and Method.
I understand that when I assign the Service and method values I should see a grid asking for the input parameters, which I never get...
Is there a reason why this is happening, as , as per a tutorial that I have read, there is supposed to be a prompt of the parameters.
This is , of course the error I get when i run the package:
SSIS package "Webservice.dtsx" starting.
Error: 0xC002F304 at Web Service Task, Web Service Task: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not execute the Web method. The error is: Exception has been thrown by the target of an invocation..
at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser)
at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
I have just been using the Import Data wizard in SSMS and when going through the wizard I checked the "Optimize for many tables" checkbox.
The resultant package contains a task called "Transfer Task". I've never heard of this before. Its not listed in the toolbox and its not documented in BOL.
It does some rather strange things as well.
From what I can determine it uses an XML manifest file (stored in c:documents and settings<user>Local settings emp) to construct a SSIS package on the fly which is then executed by an Execute Package Task. Its SourceDB property is always "smo_Pubs". Its DestinationDB property is always "smo_Pubs_xfred" There's no UI for it
All very peculiar.
What is it?
Where has it come from?
Did it arrive with SP1 or have I just never noticed it before?
Why is it preferable to a package with lots of data-flows?
I want to use script task in order to dynamically filled Table A, B, C from the data Table 1. What script should i used and how can i implement this in SSIS.
Ex:
Table 1
Col1 Col2 Col3 A F1 123 A F2 213 A F5 456 B G1 345 C H2 897 C H5 768
Now i wanna write a script which can dynamically do this: 1) read the each row of Table1 2) Get from Col1 = the name of the table on which it needs to update 3) Get from Col2 the name of the colunm of the table from Col1 on which update has to be made 4) Update that particular colunm with the value in Col3
A stored function is created in MySQL Server running on Linux with following info: mysql > delimiter $$ mysql > CREATE FUNCTION GetMaxKeyForSampleTable() -> RETURNS DOUBLE READS SQL DATA -> BEGIN -> RETURN (SELECT MAX(MJD) FROM tblSampleTable); -> END; Query OK, 0 rows affected (0.02 sec) mysql > delimiter ;
***The above function is successfully stored in the database.
"Execute SQL Task" add-in module has following info:
I need to create a ssis package. I want to import the data from a flat file to a table.
Lets say, the table has 5 columns -- col1, col2, col3, col4 , col5.(Assume that all columns can be NULLABLE) The datafile contains the data related to only three columns say col1, col2, col3. So when I use dataflow task to import the data from the file to the table, I will only get three columns, col1, col2, col3. Columns col4, col5 will be NULL. However, I want to populate columns col4, col5 with some values which are stored in the variable.
I have some code written in .NET sitting in a .DLL. I would like to call this code from a script task block of code... but how do I add the .DLL to my project? If I go to References->Add References, there is no "Browse" button like there is in "normal" VS.NET. How can I add this .DLL? So far I have had to copy and paste the code from the .DLL into my project, but this is ugly!!
I am trying to create a SQL Task that basically insert a record into a temp table then upon succession, it will invoke another SQL Task. But for some reason the second SQL Task has never gotten triggered. Is there some configuration settings that I need to setup?
For making a custom Task in SSIS, is it possible to reuse the existing code base? For e.g. If i need to append some functionalities to LookUp Transform. Can I inherit the lookUp transform class?
I have been struggling with a problem with the Web Service Task. I have a package that uses this and has to authenticate to the web service. This works fine on my development server but if I export the package to file and run from another computer / user, the package fails as it doesn't log in to the web service. I have found the problem to be the package was set to default of EncryptSensitiveWithUserKey and I understand why this is. If I change to use EncryptSensitiveWithPassword, it prompts for creds and works fine. My question is how do I use a package configuration file to use different creds (there is not password option for the http connection) so I can standardize on use of config files for this operation. Thanks.
I am trying to write a dynamic Transfer Database task in my SSIS package which generates the DestinationDatabaseName and DestinationDatabaseFiles on the fly before each run.
I have written a Script task which generates a string in the format("MyDB_data.mdf","C:Data","";"MyDB_log.ldf","C:Data","") and stores this in a variable which is then bound to the DestinationDatabaseFiles property using Expressions. But I keep getting the following error-
Error at Copy MyDB monthly snapshot database [Transfer Database Task]: The number of source transfer files and the number of destination transfer files must be the same.
Error at Copy MyDB monthly snapshot database: The Validate method on the task failed, and returned error code 0x80131502 (Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index). The Validate method must succeed and indicate the result using an "out" parameter.
The number of source and destination files are same, and the path works fine when hardcoded in as a property value.
Got a problem with 'Execute SQL Task'. When I click to open the 'Execute SQL Task Editor', add a connection then click on 'Parameter Mapping' then click 'Add' button the window disappears. I have re-installed visual studio and applied SP1 but the problem is still there.
I transfer files from FTP site using SSIS FTP Task. If there is no files to tranfer, the task failes, and and an email sent. How can I configure the package to send an email only if anything any error happened other than "File does not exist".