Showing posts with label package. Show all posts
Showing posts with label package. Show all posts

Monday, March 26, 2012

Help on Migrating from 2000 to 2005- SSIS package

Hi,

I have to create a migration package ..means package should migrate the sql server 2000 tables to 2005 tables (Not dealing with data at this point of time and ignoring SPs,DTS packages).But there are lot of normalisation ans schema changes in 2005 compared to 2000.Like,

- One 2000 table devided into 3-4 tables in 2005
- Lot of changes in the filed names
- Handling integrity relationship between the newversion tables

Being new to SSIS ,iam in confusion like how to start and where to start.can you pls tell me the steps(Structured way) i have to fallow

-- I have around 8-9 tables in 2000 ,I have to migrate them into 18-19 tables (with some new fileds )

-- For each table i have to create one package(bcoz lot of transformations are there) or I can create one package for all of those ? but the finally i have to handover one package to the client


pls ask me if u need any further info to come up with the explanation..bcoz iam not sure whether i provided enough info or not


Thanks for ur help
Niru

You should be able to build just one package. You might need as many data-flows as there are destination tables. it depends on the situation.

Use precedence constraints to ensure that the data-flows are executed in the correct order according to RI declared on the destination tables.

If you ask more specific questions then more specific answers can be provided.

-Jamie

|||

Thanks Jamie for the clarifying ..yes i think i should create different dataflows instead of different packages .

Here is the scenario which iam working now

I have a table...i have to map some of those fields to the existing 5 tables.

fileds should map like this


source table Destination fileds with tables
(contract)

contract_code --> contract_code (Incident)

Date --> DateId (Dates)
TimeId (Times)

Duration --> Duration (Session)

Ended --> Completion_state(Session) will have options like 'yes','no','unknown'
Problem(session) -- need to set 'true' if completion_state is 'No'

From --> Number(Audit) -- Adding source if it is not existed
Id (Audit) -- giving id if you added target in the above column

To --> Number(Audit) -- Adding Traget if it is not existed
Id (Audit) -- giving id if you added target in the above column


[I will differentiate the difference betweeen 'from' and 'TO' columns in session tables seperatley by refernce]

I think you got some idea what iam trying to do ..like this i have 9-10 tables .

I apperciate if can help me out in this .

Thanks

Niru

Friday, March 23, 2012

Help on INI file

Hi all,
I'm building a DTS package that needs to take parameters from an INI
file. The SQL statement in the Transform task goes something like this:
select * from customer where division in ('D','I','2','3','C')
I need to pass the division 'D','I','2','3','C' part in because there
might be more divisions we need in the future or change of divisions,
we don't want to modifiy the package every time. So I set it in the INI
file like this and read it into a global variable:
[Customer]
Division = 'D','I','2','3','C'
But SQL doesn't recognize the SQL statement "select * from customer
where division in (?), where ? stands for the global variable. I tried
with setting Division = "'D','I','2','3','C'" in INI file, it still
doesn't work. The only way it works is to pass the 5 values as 5
seperate parameters and thus 5 global variables then the SQL statement
is like this:
select * from customer where division in (?,?,?,?,?)
But this defeats the purpose because I can't add another parameter in
the INI file without having to open the package and make changes.
Has anybody run into this before? Any suggestions is appreciated.
Thanks,http://www.sommarskog.se/arrays-in-sql.html

Simon

Help on creating SSIS

Hello ,

I am getting the given error message while creting SSIS. Please help me to solve the error....

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

regards,

Malhar , THanks

Where do you see the error message?|||

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Plz help me out if u can..

Thanx n Regards,

Malhar

|||

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

Plz help me out if u can..

Thanx n Regards,

Malhar

|||If all you're doing is creating a brand new project and this error appears before you've done anything then it sounds like you've got a corrupt installation. Unfortunatly I'm not able to offer any meaningful help other than trying to reinstall the SQL 2005 Client Tools|||

Hi,

Thanx for ur reply.

Yup i m creating brand new project and as soon as i create new project this error comes.

Well, whatever solution u have mentioned, is the only solution? and after reinstalling sql server 2005, my problem wud b solved?

Thanx n Regards,

Malhar

|||

hi,

Thanx for ur reply.

Yup i m creating brand new project and as soon as i create new project, that error comes.

Well, Whatever solution u have mentioned, is the only solution? My problen will get solved if i wud reinstall MS Sql Server 2005?

or is there any other solution available? Whts the meaning of that error : Failed on the unmanaged server..

Thanx and Regards,

Malhar

|||

malhar wrote:

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

Plz help me out if u can..

Thanx n Regards,

Malhar

I'm not sure what's causing your issue, but it's possible that your SSIS installation has become corrupted. The only solution I can think of is to do a fresh install.|||

This looks like it may be a problem related to InstallShield. I just received the same error opening an existing SSIS project. Here is a link to what may be a solution

http://support.installshield.com/kb/view.asp?articleid=q106194

Help on creating SSIS

Hello ,

I am getting the given error message while creting SSIS. Please help me to solve the error....

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

regards,

Malhar , THanks

Where do you see the error message?|||

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Plz help me out if u can..

Thanx n Regards,

Malhar

|||

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

Plz help me out if u can..

Thanx n Regards,

Malhar

|||If all you're doing is creating a brand new project and this error appears before you've done anything then it sounds like you've got a corrupt installation. Unfortunatly I'm not able to offer any meaningful help other than trying to reinstall the SQL 2005 Client Tools|||

Hi,

Thanx for ur reply.

Yup i m creating brand new project and as soon as i create new project this error comes.

Well, whatever solution u have mentioned, is the only solution? and after reinstalling sql server 2005, my problem wud b solved?

Thanx n Regards,

Malhar

|||

hi,

Thanx for ur reply.

Yup i m creating brand new project and as soon as i create new project, that error comes.

Well, Whatever solution u have mentioned, is the only solution? My problen will get solved if i wud reinstall MS Sql Server 2005?

or is there any other solution available? Whts the meaning of that error : Failed on the unmanaged server..

Thanx and Regards,

Malhar

|||

malhar wrote:

Hi,

Error is coming in Error List...

When i open new project->Integration Service Project.. I see the Package.dtsx with the following error

Error loading 'Package.dtsx' : QI for IEnumVARIANT failed on the unmanaged server..

Plz help me out if u can..

Thanx n Regards,

Malhar

I'm not sure what's causing your issue, but it's possible that your SSIS installation has become corrupted. The only solution I can think of is to do a fresh install.|||

This looks like it may be a problem related to InstallShield. I just received the same error opening an existing SSIS project. Here is a link to what may be a solution

http://support.installshield.com/kb/view.asp?articleid=q106194

Wednesday, March 21, 2012

Help needed: Scheduling of package fails

Hi there,

I have followed the steps in BOL (not too complex really) to schedule a package in SQL Server
Agent.

My package reads out Data from the SQL Server and writes some log into a file. It is encrypted
by a password and is stored to the filesystem.
Executing the pkg via dtexec works fine.

Then I've created a new job with one step via SQL Server Management Studio, added
the package and password when prompted.

I took the command line params and used them with dtexec: It woked.
I started the job manually from SQL Server Management Studio by selecting "start job"
from the context menu.

But when I try to schedule the job nothing happens. The only trace I can find is a warning in
the SQL Server Agent Error Logs:
"[162] Internal request (from SetJobNextRunDate [reason: schedule will not run again]) to deactivate schedule 2"
This is inherent when you configure a schedule to go off once.

Thanks in advance
FridtjofI have found the error:

I created more than one Schedule with the same name from within the job step schedules New button. That seemed to confuse the Server Agent. After correcting this everything worked.

Fridtjof

Monday, March 19, 2012

Help needed with this Error message while running a DTS package

Hi

I am trying to import a excel file into a table but when i run it i am getting this error and i am not sure what this eror is

- Copying to [ICCStatements].[dbo].[Sheet1$] (Error)

Messages

Error 0xc0202009: Data Flow Task: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Unspecified error".
(SQL Server Import and Export Wizard)

Error 0xc020901c: Data Flow Task: There was an error with input column "AdminShowInKit" (148) on input "Destination Input" (102). The column status returned was: "The value violated the integrity constraints for the column.".
(SQL Server Import and Export Wizard)

Error 0xc0209029: Data Flow Task: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (102)" failed because error code 0xC020907D occurred, and the error row disposition on "input "Destination Input" (102)" 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.
(SQL Server Import and Export Wizard)

Error 0xc0047022: Data Flow Task: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination - Sheet1$" (89) 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. There may be error messages posted before this with more information about the failure.
(SQL Server Import and Export Wizard)

Error 0xc0047021: Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread "WorkThread0" has exited with error code 0xC0209029. There may be error messages posted before this with more information on why the thread has exited.
(SQL Server Import and Export Wizard)

Any help will be appreciated.. RegardsKArenThe key error is this:

Error 0xc020901c: Data Flow Task: There was an error with input column "AdminShowInKit" (148) on input "Destination Input" (102). The column status returned was: "The value violated the integrity constraints for the column.".
(SQL Server Import and Export Wizard)

There seems to be an error in the AdminShowInKit column. Possibly a missing value.

Wednesday, March 7, 2012

Help needed - Parameter driven extract

Hi All,

I am designing a data migration tool using SSIS. As part of it, within a package I need to get a list of of customers from a SQL Server database table and extract the data for those customers from a seperate Sybase database. How do I make my SQL command to extract the data parameter driven? If I store the list of customer ID's in a package variable can I access it in the SQL command? I am using an ODBC connection for Sybase.

Any help would be greatly apreciated.

Nadella

If I were you; I would create a staging table to load the Sybase data that is accesible via Query-join from the SQL Server database. That way you could write single query joining the 2 tables.

I don't know how you could implement this via SSIS variable...

Friday, February 24, 2012

Help me remind me why I never run a package from a package

Hi,

For some reason, I stay away from executing a package from a package. I guess that this is because I have experienced issues with this in the past and because I have read some articles in that forum that pin point specific issues when you do this.

So far I try very hard to either combine all I need in one package or I break it down in multiple packages and use SQL Agent to drive the package chaining.

Does anyone has a better experience with SP2 as far as running child package from parent package is concerned? Any bugs remaining out there?

Thanks,

Philippe

Hi philippe,
Have You given a thought on Thread Syncronzation Errors and Warnings?|||

Running SP2 here, no problems at all with parent-child package operation. The key factor is using a package configuration for shared info like connection strings. I found development and testing to be a lot easier to manage when a large package was split up.

|||I also have a lot of packages running as Parent/Child. Sometimes they fail, but this could be related to different causes.|||I'm not running SP2 yet, but I've seen quite a few people start to lean on SP2 as causing most of their recent issues. Please, if you have specifics, post them here as such so that we can diagnose them and get them documented. Many of us will be looking to move to SP2, but will rely in part on outside experiences.

As far as SP1, I run ALL of my packages from a parent. Always. Even if I have just one package that does something. This is part of my standards that I've put in place primarily for auditing purposes. Not to mention the master package is the only piece that I have to schedule. Regardless, I have no issues!|||

Philippe wrote:

Hi,

For some reason, I stay away from executing a package from a package. I guess that this is because I have experienced issues with this in the past and because I have read some articles in that forum that pin point specific issues when you do this.

So far I try very hard to either combine all I need in one package or I break it down in multiple packages and use SQL Agent to drive the package chaining.

Does anyone has a better experience with SP2 as far as running child package from parent package is concerned? Any bugs remaining out there?

Thanks,

Philippe

I disagree. I don't know about your specific scenario but using parent package to call other packages have worked just find for me (and I am not running SP2 yet). Would you give specific problems that you have faced when try to use that approach?

BTW, personally I prefer to have a collection of simpler packages rather than a super-big one. Overtime I have found that this is a plus in multi-developers environments. Maintenance, troubleshooting and restorability are also easier that way .

|||

Hi,

I agree with the idea to avoid a super big and slow opening package while it depends if you pull everything at the same time or if you pull at different times different pieces.

For the package calling other packages, I was concerned about variables scope and configurations. in SQL2000 I had a super package running all others but it was uneasy. I felt more comfortable controlling the packages from jobs by either creating a job firing multiple packages or by creating multiple jobs.

Let say that one of the packages fail on the pre-validation step (SP1) then you had a much quicker view of which package failed with jobs that if it was a chain of packages. i pull from multiple Oracle boxes and sometimes one can be offline for a while.

The job let you easilly re-run only the failed package, it can also be set to retry, which is different than setting-up the package to resume at the point of failure, the job retry is a fresh start and can be scheduled to try n times every 15 minutes as an example.

Since users in this forum do not have problem with chain of packages, I may re-use this approach with much more confidence. now that the pre-validations error (SP2) gets logged, it should be much easier to trouble-shoot.

Regards,

Philippe

|||Sorry - but I can't seem to get the point of running a package from a package from a package.
For me it's same as Microsoft syntax - DELETE FROM table FROM table x ...

Variable scope & config:
I use a package template - which sets up most commonly used variables & connections.
Then I have 1 master config file which shared with most packages (db connection string, root path for directories etc.)

Errors & troubleshooting:
Event_Log table - populated by Exec SQL task on package success and failure
(also - logging is configured for additional package info - havent seen much use for it yet - as event_log usually suffices - perhaps useful for warning messages)

Jobs:
Packages are set up as job steps in 1 job --> downside to this is that MS SQL Server does not allow you to run just a single step - you can start at last step though to get around.

My moto is Keep it Simple - the more you do stuff like " package from a package from a package" - the more you set up yourself for headaches along the way|||

TheViewMaster wrote:


My moto is Keep it Simple - the more you do stuff like " package from a package from a package" - the more you set up yourself for headaches along the way

I personally keep it to two levels, the main parent package, and all of the children underneath that. I don't keep nesting packages. But, to each their own, and whatever works for you is just great!|||

Totally agree with Phil. I also use only 2 level of packages. At the end, there are many variables that need to be considered when choosing the right approach.

Just to get the discussion back on track; I don't know about any issue with parent packages that prevents you from using them.

|||

I've only been working with SQL Server 2005 for a few weeks (but SQL Server 2000 for a few years). I have a single SSIS package that invokes 6 SSIS packages, each of which invokes 3-5 SSIS packages, each of which invokes 3-8 stored procedures. The outer package takes approx. one hour to run.

My main task is using SQL to perform lots of computations that are well suited to a database (mostly simple SUM(x) and SUM(a*b) type expressions -- but with lots of data, and "business rules" that are coded somewhat via tables, and somewhat via SQL statements, and often in need of "tweaking" to accommodate special cases). I often look at this work as a "data factory" that receives huge "raw materials" data tables, and then performs much "value added" processing to arrive at the "product", which is essentially other data tables.

Just as an automobile has major components, so, too, do the output "product" tables. So, with the automobile analogy, I have "engine" output tables, and "transmission" output tables, and "body" output tables. But in the "engine" output tables, I have sub-components, such as "fuel systems", "electrical systems", etc. And I have similar "sub-components" for the "transmission" and "body" output table sets.

So I have an overall "automobile" SSIS package that calls sequentially the major component SSIS packages ("engine", "transmission", "body", etc.), which each call internally their respective sub-component SSIS packages. These sub-component SSIS packages call stored procedures. Sequential processing is necessary because some procedures rely on the computations from earlier procedures. (In some cases I even use the same "assembly line", and just change small portions of the "input data stream" to produce a different "data product" -- because of the similarity of business rules for the two output data sets; this is similar to how the same cheese processing equipment can be used to make cheddar or Monterey Jack; but other assembly lines are making vodka, for example, with much different business rules.)

So at the moment I have a 3-level package arrangement. When I run the highest-level package I get answers back in approx. 1 hour on a quad-processor, high speed server. (Not a supercomputer by any means. And while it runs it means I am free to write more code, perform data QA/QC studies, etc.)

My greatest speed improvement, aside from making suitable indexes on tables, came from a better choice of "fill factor" on the indexes of some of the intermediate process tables: all the INSERT statements at different processing stages were initially forcing too much activity in maintaining the indexes. (It was a strange problem to track down, since if I re-ran the procedure that failed due to a time-out, it would always run very quickly the second time. That's because the INDEX had expanded itself while the procedure was running out of time, and remained expanded when I performed a "DELETE ... WHERE ..." from the table as one of the initial steps in the stored procedure. So when it ran the second time there was plenty of room to make the INSERT entries into the INDEX tables/pages.)

I can easily imagine situations wherein 4 or more levels of packages would constitute a "natural" design.

Dan

Help me remind me why I never run a package from a package

Hi,

For some reason, I stay away from executing a package from a package. I guess that this is because I have experienced issues with this in the past and because I have read some articles in that forum that pin point specific issues when you do this.

So far I try very hard to either combine all I need in one package or I break it down in multiple packages and use SQL Agent to drive the package chaining.

Does anyone has a better experience with SP2 as far as running child package from parent package is concerned? Any bugs remaining out there?

Thanks,

Philippe

Hi philippe,
Have You given a thought on Thread Syncronzation Errors and Warnings?
|||

Running SP2 here, no problems at all with parent-child package operation. The key factor is using a package configuration for shared info like connection strings. I found development and testing to be a lot easier to manage when a large package was split up.

|||I also have a lot of packages running as Parent/Child. Sometimes they fail, but this could be related to different causes.|||I'm not running SP2 yet, but I've seen quite a few people start to lean on SP2 as causing most of their recent issues. Please, if you have specifics, post them here as such so that we can diagnose them and get them documented. Many of us will be looking to move to SP2, but will rely in part on outside experiences.

As far as SP1, I run ALL of my packages from a parent. Always. Even if I have just one package that does something. This is part of my standards that I've put in place primarily for auditing purposes. Not to mention the master package is the only piece that I have to schedule. Regardless, I have no issues!|||

Philippe wrote:

Hi,

For some reason, I stay away from executing a package from a package. I guess that this is because I have experienced issues with this in the past and because I have read some articles in that forum that pin point specific issues when you do this.

So far I try very hard to either combine all I need in one package or I break it down in multiple packages and use SQL Agent to drive the package chaining.

Does anyone has a better experience with SP2 as far as running child package from parent package is concerned? Any bugs remaining out there?

Thanks,

Philippe

I disagree. I don't know about your specific scenario but using parent package to call other packages have worked just find for me (and I am not running SP2 yet). Would you give specific problems that you have faced when try to use that approach?

BTW, personally I prefer to have a collection of simpler packages rather than a super-big one. Overtime I have found that this is a plus in multi-developers environments. Maintenance, troubleshooting and restorability are also easier that way .

|||

Hi,

I agree with the idea to avoid a super big and slow opening package while it depends if you pull everything at the same time or if you pull at different times different pieces.

For the package calling other packages, I was concerned about variables scope and configurations. in SQL2000 I had a super package running all others but it was uneasy. I felt more comfortable controlling the packages from jobs by either creating a job firing multiple packages or by creating multiple jobs.

Let say that one of the packages fail on the pre-validation step (SP1) then you had a much quicker view of which package failed with jobs that if it was a chain of packages. i pull from multiple Oracle boxes and sometimes one can be offline for a while.

The job let you easilly re-run only the failed package, it can also be set to retry, which is different than setting-up the package to resume at the point of failure, the job retry is a fresh start and can be scheduled to try n times every 15 minutes as an example.

Since users in this forum do not have problem with chain of packages, I may re-use this approach with much more confidence. now that the pre-validations error (SP2) gets logged, it should be much easier to trouble-shoot.

Regards,

Philippe

|||Sorry - but I can't seem to get the point of running a package from a package from a package.
For me it's same as Microsoft syntax - DELETE FROM table FROM table x ...

Variable scope & config:
I use a package template - which sets up most commonly used variables & connections.
Then I have 1 master config file which shared with most packages (db connection string, root path for directories etc.)

Errors & troubleshooting:
Event_Log table - populated by Exec SQL task on package success and failure
(also - logging is configured for additional package info - havent seen much use for it yet - as event_log usually suffices - perhaps useful for warning messages)

Jobs:
Packages are set up as job steps in 1 job --> downside to this is that MS SQL Server does not allow you to run just a single step - you can start at last step though to get around.

My moto is Keep it Simple - the more you do stuff like " package from a package from a package" - the more you set up yourself for headaches along the way|||

TheViewMaster wrote:


My moto is Keep it Simple - the more you do stuff like " package from a package from a package" - the more you set up yourself for headaches along the way

I personally keep it to two levels, the main parent package, and all of the children underneath that. I don't keep nesting packages. But, to each their own, and whatever works for you is just great!|||

Totally agree with Phil. I also use only 2 level of packages. At the end, there are many variables that need to be considered when choosing the right approach.

Just to get the discussion back on track; I don't know about any issue with parent packages that prevents you from using them.

|||

I've only been working with SQL Server 2005 for a few weeks (but SQL Server 2000 for a few years). I have a single SSIS package that invokes 6 SSIS packages, each of which invokes 3-5 SSIS packages, each of which invokes 3-8 stored procedures. The outer package takes approx. one hour to run.

My main task is using SQL to perform lots of computations that are well suited to a database (mostly simple SUM(x) and SUM(a*b) type expressions -- but with lots of data, and "business rules" that are coded somewhat via tables, and somewhat via SQL statements, and often in need of "tweaking" to accommodate special cases). I often look at this work as a "data factory" that receives huge "raw materials" data tables, and then performs much "value added" processing to arrive at the "product", which is essentially other data tables.

Just as an automobile has major components, so, too, do the output "product" tables. So, with the automobile analogy, I have "engine" output tables, and "transmission" output tables, and "body" output tables. But in the "engine" output tables, I have sub-components, such as "fuel systems", "electrical systems", etc. And I have similar "sub-components" for the "transmission" and "body" output table sets.

So I have an overall "automobile" SSIS package that calls sequentially the major component SSIS packages ("engine", "transmission", "body", etc.), which each call internally their respective sub-component SSIS packages. These sub-component SSIS packages call stored procedures. Sequential processing is necessary because some procedures rely on the computations from earlier procedures. (In some cases I even use the same "assembly line", and just change small portions of the "input data stream" to produce a different "data product" -- because of the similarity of business rules for the two output data sets; this is similar to how the same cheese processing equipment can be used to make cheddar or Monterey Jack; but other assembly lines are making vodka, for example, with much different business rules.)

So at the moment I have a 3-level package arrangement. When I run the highest-level package I get answers back in approx. 1 hour on a quad-processor, high speed server. (Not a supercomputer by any means. And while it runs it means I am free to write more code, perform data QA/QC studies, etc.)

My greatest speed improvement, aside from making suitable indexes on tables, came from a better choice of "fill factor" on the indexes of some of the intermediate process tables: all the INSERT statements at different processing stages were initially forcing too much activity in maintaining the indexes. (It was a strange problem to track down, since if I re-ran the procedure that failed due to a time-out, it would always run very quickly the second time. That's because the INDEX had expanded itself while the procedure was running out of time, and remained expanded when I performed a "DELETE ... WHERE ..." from the table as one of the initial steps in the stored procedure. So when it ran the second time there was plenty of room to make the INSERT entries into the INDEX tables/pages.)

I can easily imagine situations wherein 4 or more levels of packages would constitute a "natural" design.

Dan