I have a strange problem scheduling SSIS package in SQL Server Agent.
An SSIS package which uses FTP to download a file from an FTP Server is scheduled through the SQL Server Agent to run every hour to look for the file and download it if exists.
- Iam using an Agent proxy which has all the necessary permissions to run the package.
- The package is protected as "EncryptsensitivewithUserKey".
It runs fine in schedule sometimes, ie it downloads the file and processes it alright.
But sometimes, very strangely , for an extended period while in schedule, it gives up an error saying -
- Unable to connect to FTP server using "Click_FTP_Location".
Click_FTP_Location - is the FTP connection manager used in the package.
Has anyone experienced this in any of their work??
We are also trying to see if there is something wrong with the FTP server itself.
Our VB application throws .dtsx on-demand by using Threads. Everything's fine but a little detail: when it goes to launch a SSIS package with a only task, concretely a Sequence Container task (empty, without tasks inside) fails Prevalidate method.
Eversince I've moved my import packages to our new dev server, I have been experiencing strange behaviour in my packages that does the archiving of the .csv files which we import.
These 'Archive' packages doesn't do anything fancy in my opinion and most of them work. To explain how the logic works:
The package consists of a For Each Loop that picks up the file, passes it to a string variable. Inside the For Each Loop container, I have 2 File system tasks. 1 Renames the file and then flows out to another that moves it (I am aware of the fact that I can do the rename and move in 1 go but prefered to keep it separate). The FST that does the renaming, gets its source from the For Each Loop and after renaming the file, the file's new fully qualified path is stored in another variable. This variable then gets to be the source of the FST that moves it to the desired location...like i said...nothing fancy
I am getting errors where it tells me there is a mistake on my Rename FST's expresssion, which is nonsense since I run it on exactly the same files on my machine without problems. Another error is even more baffling...I get the Moving FST erroring out and complaining about not finding the renamed file?? how can this be?? it works also on my local machine, I wonder if it sometimes doesn't pass the variables correctly??
I recently got to install SQL service pack 2 on the box, which improved some things but these packages have been copied over from another server which had service pack 2 on. There are also quite a bit of updates that this server should be running and I was wondering whether these might solve the instability I get?
I've been doing some further testing on SSIS and come across what I consider strange behaviour of the FileSystemTask.
This is set to delete a file, using the file name input from a variable.
If the file doesn't exists I would expect the task to fail, but instead it does not. It succeeds ! I would expect this to fail if the file it attempts to delete is not found.
I created a very simple SSIS package (it just updates a single row in a table). When I execute the package from the command line (using dtexec), it takes about a second to finish, as expected. But when I execute it using dtexec via xp_cmdshell, it takes about 91 seconds. When I use a SQL job to execute the package as an operating system type, it takes 91 seconds. Using a SQL job to execute it as a SSIS package takes again 91 seconds. It appears that something is causing a delay of about 90 seconds before the package actually gets executed. I tried changing the SSIS service account, but that didn't change anything. Why is executing the package through SS2005 different than executing it directly from the command prompt?
ID,Operator Emailed,Operator Net sent,Operator Paged,Retries Attempted 09/24/2007 15:00:00,Hourly Extract From OReSA,Error,0,INHSCTSTTOMVM82,Hourly Extract From OReSA,(Job outcome),,The
job failed. The Job was invoked by Schedule 7 (Hourly). The last step to run was step 1 (OReSA
Extract).,00:00:59,0,0,,,,0 09/24/2007 15:00:01,Hourly Extract From OReSA,Error,1,INHSCTSTTOMVM82,Hourly Extract From OReSA,OReSA
Extract,,Executed as user: INENVts_hia. hod call failed. End Error Error: 2007-09-24 15:00:58.93 Code:
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).
I have added a few fields to a table and now when I try to populate it it bombs. It always stops on the same record even with different files and gives me the following error messages. Data looks fine.
[OLE DB Destination [6525]] Error: An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Invalid character value for cast specification".
[OLE DB Destination [6525]] Error: There was an error with input column "Column 87" (6742) on input "OLE DB Destination Input" (6538). The column status returned was: "Conversion failed because the data value overflowed the specified type.".
[OLE DB Destination [6525]] Error: The "input "OLE DB Destination Input" (6538)" failed because error code 0xC020907A occurred, and the error row disposition on "input "OLE DB Destination Input" (6538)" specifies failure on error. An error occurred on the specified object of the specified component.
[DTS.Pipeline] Error: The ProcessInput method on component "OLE DB Destination" (6525) failed with error code 0xC0209029. 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.
[DTS.Pipeline] Error: Thread "WorkThread0" has exited with error code 0xC0209029.
[Flat File Source [1]] Error: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.
[DTS.Pipeline] Error: 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.
[DTS.Pipeline] Error: Thread "SourceThread0" has exited with error code 0xC0047038.
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.
This package which is a child package has been running successfully for quite some time now. All of a sudden we are getting these intermittant error messages. Does anyone have any ideas what to do or check for?
thanks
===========================
Error portion
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100483760 bytes.
Error: 0xC02020C4 at CF-DFT Oracle Sales Fact, order line id [1]: The attempt to add a row to the Data Flow task buffer failed with error code 0x8007000E.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 30 percent memory load. There are 8587960320 bytes of physical memory with 5972680704 bytes free. There are 2147352576 bytes of virtual memory with 1324290048 bytes free. The paging file has 12673945600 bytes with 10005012480 bytes free.
Error: 0xC0047038 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The PrimeOutput method on component "order line id" (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.
Error: 0xC0047056 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The Data Flow task failed to create a buffer to call PrimeOutput for output "Union All" (13359) on component "Union All Output 1" (13361). This error usually occurs due to an out-of-memory condition.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "SourceThread1" has exited with error code 0xC0047038.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread2" has exited with error code 0x8007000E.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" has exited with error code 0xC0047039.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" has exited with error code 0xC0047039.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" has exited with error code 0xC0047039.
Information: 0x40016041 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from the XML file "D:SSISconfigurationCONFIG-STAGE1.dtsConfig".
Information: 0x40016040 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from SQL Server using the configuration string ""MSSQL-CONFIG";"[dbo].[SSIS_Configurations]";"System Configuration Settings";".
Information: 0x40016040 at SRW_ORACLE_SALES_FTBL: The package is attempting to configure from SQL Server using the configuration string ""MSSQL-CONFIG";"[dbo].[SRW_SSIS_Configurations]";"SRW Main Configurations";".
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x4004300A at CF-DFT Oracle Sales Fact, DTS.Pipeline: Validation phase is beginning.
Warning: 0x802092A7 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: Truncation may occur due to inserting data from data flow column "IC_ORDER" with a length of 240 to database column "IC_ORDER" with a length of 1.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "SERIAL_NUMBER" (2680) on output "Sort Output" (2453) and component "Sort 1" (2451) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "ORG_ID" (13377) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "CUST_TRX_TYPE_ID" (13428) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Data Conversion 1.Copy of CUST_TRX_TYPE_ID" (13443) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "GL_ID_REV" (13449) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Warning: 0x80047076 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The output column "Copy of GL_ID_REV" (13458) on output "Union All Output 1" (13361) and component "Union All" (13359) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance.
Information: 0x40043006 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Prepare for Execute phase is beginning.
Information: 0x40043007 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Pre-Execute phase is beginning.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, REV GL SEGS [307]: component "REV GL SEGS" (307) has cached 780 rows.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, get oper unit [813]: component "get oper unit" (813) has cached 12 rows.
Warning: 0x802090E4 at CF-DFT Oracle Sales Fact, get oper unit [813]: The Lookup transformation encountered duplicate reference key values when caching reference data. The Lookup transformation found duplicate key values when caching metadata in PreExecute. This error occurs in Full Cache mode only. Either remove the duplicate key values, or change the cache mode to PARTIAL or NO_CACHE.
Information: 0x400490F4 at CF-DFT Oracle Sales Fact, get header txn type for IC flag [13685]: component "get header txn type for IC flag" (13685) has cached 768 rows.
Information: 0x4004300C at CF-DFT Oracle Sales Fact, DTS.Pipeline: Execute phase is beginning.
Information: 0x4004800D at CF-DFT Oracle Sales Fact, DTS.Pipeline: The buffer manager failed a memory allocation call for 100484768 bytes, but was unable to swap out any buffers to relieve memory pressure. 83 buffers were considered and 83 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100484768 bytes.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 31 percent memory load. There are 8587960320 bytes of physical memory with 5869387776 bytes free. There are 2147352576 bytes of virtual memory with 1223802880 bytes free. The paging file has 12673945600 bytes with 9901600768 bytes free.
Information: 0x4004800D at CF-DFT Oracle Sales Fact, DTS.Pipeline: The buffer manager failed a memory allocation call for 100483760 bytes, but was unable to swap out any buffers to relieve memory pressure. 162 buffers were considered and 162 were locked. Either not enough memory is available to the pipeline because not enough are installed, other processes were using it, or too many buffers are locked.
Error: 0xC0047012 at CF-DFT Oracle Sales Fact, DTS.Pipeline: A buffer failed while allocating 100483760 bytes.
Error: 0xC02020C4 at CF-DFT Oracle Sales Fact, order line id [1]: The attempt to add a row to the Data Flow task buffer failed with error code 0x8007000E.
Error: 0xC0047011 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The system reports 30 percent memory load. There are 8587960320 bytes of physical memory with 5972680704 bytes free. There are 2147352576 bytes of virtual memory with 1324290048 bytes free. The paging file has 12673945600 bytes with 10005012480 bytes free.
Error: 0xC0047038 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The PrimeOutput method on component "order line id" (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.
Error: 0xC0047056 at CF-DFT Oracle Sales Fact, DTS.Pipeline: The Data Flow task failed to create a buffer to call PrimeOutput for output "Union All" (13359) on component "Union All Output 1" (13361). This error usually occurs due to an out-of-memory condition.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "SourceThread1" has exited with error code 0xC0047038.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread2" has exited with error code 0x8007000E.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread3" has exited with error code 0xC0047039.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread1" has exited with error code 0xC0047039.
Error: 0xC0047039 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
Error: 0xC0047021 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Thread "WorkThread0" has exited with error code 0xC0047039.
Information: 0x40043008 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Post Execute phase is beginning.
Information: 0x402090DF at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: The final commit for the data insertion has started.
Information: 0x402090E0 at CF-DFT Oracle Sales Fact, TEMP OUTPUT [998]: The final commit for the data insertion has ended.
Information: 0x40043009 at CF-DFT Oracle Sales Fact, DTS.Pipeline: Cleanup phase is beginning.
Information: 0x4004300B at CF-DFT Oracle Sales Fact, DTS.Pipeline: "component "TEMP OUTPUT" (998)" wrote 0 rows.
Task failed: CF-DFT Oracle Sales Fact
Warning: 0x80019002 at SRW_ORACLE_SALES_FTBL: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
Task failed: CF-EPGT SRW_ORACLE_SALES_FTBL
Warning: 0x80019002 at CF-SQC Facts: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
Warning: 0x80019002 at SRW_MAIN: The Execution method succeeded, but the number of errors raised (15) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
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
S: Running SQL Server Express V: Running SSIS package in VS.Net F: Shared folder host excel files
And an openrowset SQL statement: select * from openrowset(..... \Fexcel.xls....). This statement can be run in SS management studio connecting to S using my Windows logon(integration security) without any problem.
However, the same SQL running inside SSIS package (integration security using my Windows account) get the following error:
Error: 0x0 at Check headers: OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "The Microsoft Jet database engine cannot open the file '\Fexcel.xls'. It is already opened exclusively by another user, or you need permission to view its data.".
Error: 0xC002F210 at Check headers, Execute SQL Task: Executing the query "....openrowset....." failed with the following error: "Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
(My Windows account is administrator of Windows and sysadmin or SQL Sever Express on S)
I have a SSIS package that is run from one job, nowhere else. The package has TransactionOption NotSupported.
In the SSIS package I first have a sequence container that has TransactionOption Required (Serializable). The sequence container contains several Execute SQL tasks that access the same SQL Server 2005 database. The Execute SQL tasks have TransactionOption supported / Serializable. The first SQL statement is:
select p.column_name
from table_name p with (XLOCK, ROWLOCK)
where p.second_column_name = 'COLUMN_VALUE'
After this there are a couple of SQL tasks, and finally a task containing the following SQL:
select p.third_column_name
from table_name p
where p.second_colomn_name = 'COLUNM_NAME'
The idea is that the first query exclusively locks the row in the table_name-table for mutual exclusion purposes, i.e. so that if for some reason the SSIS package would be executed simultaneously two or more times, only one package execution could lock the row and proceed and the other executions will have to wait. There's an index on column second_column_name in the table to avoid the select locking other rows in addition to the required row.
Some questions:
1) Is it so in my setup that when SSIS runtime executes the sequence container it creates a transaction in the beginning of the sequence container and commits the transaction in the end of the sequence container? And in my setup the Execute SQL tasks in the sequence containar are executed under the same transaction?
2) I have a problem that the second query sometimes gives this error:"ErrorCode: -1073548784. ErrorDescription: Executing the query "XXXXX" failed with the following error: "Transaction (Process ID 73) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly."
The 1st query has locked the row for the transaction. How can the second query be deadlocked, shouldn't the transaction have a lock on the row? I'd understand if the 1st query failed sometimes, but don't understand how the 2nd quey can fail.
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