Showing posts with label pull. Show all posts
Showing posts with label pull. Show all posts

Thursday, March 22, 2012

Data Download via ODBC

Server is SQL 2000 SP4. We are trying to pull some data from a Progress 9.1d
server via ODBC. If I go to the local packages, open the package in question
and execute it, everything runs fine and it gets the data. If I try and run
the job manually from the job list in the SQL server agent, it fails with
the following error showing in the job history:
Executed as user: <service account>. DTSRun: Loading... DTSRun:
Executing... DTSRun OnStart: DTSStep_DTSExecuteSQLTask_1 DTSRun
OnFinish: DTSStep_DTSExecuteSQLTask_1 DTSRun OnStart:
DTSStep_DTSDataPumpTask_1 DTSRun OnError: DTSStep_DTSDataPumpTask_1,
Error = -2147467259 (80004005) Error string: Specified driver could
not be loaded due to system error 126 (MERANT 3.60 32-BIT Progress SQL92
v9.1D). Error source: Microsoft OLE DB Provider for ODBC Drivers
Help file: Help context: 0 Error Detail Records:
Error: -2147467259 (80004005); Provider Error: 160 (A0) Error
string: Specified driver could not be loaded due to system error 126
(MERANT 3.60 32-BIT Progress SQL92 v9.1D). Error source: Microsoft OLE
DB Provider for ODBC Drivers Help file: Help context: 0
DTSRun OnFinish: DTSStep_DTSDataPumpTask_1 DTSRun: Package execution
complete. Process Exit Code 1. The step failed.
All I've been able to find about the error code 126 is the ODBC driver and
error -2147467259 seems to indicate a problem with the ODBC driver. But if
the driver was the problem, I don't understand why it only fails when run as
a SQL server agent job. I tried changing the service account to an admin
account instead, but it didn't make a difference.
Not sure where else to turn, so I'm hoping some people here might have some
ideas.
Thanks
Brian
First, when you execute a package manually it runs from your
PC and under your security context. When you schedule it as
a job, it runs on the server and under the security context
of the Agent service account if the job is owned by a
sysadmin (otherwise it executes under the proxy account
security context).
Did you install the Merant drivers on the server? Error 126
is "Module could not be found" and the other error you are
getting is for unable to load driver. Looks like all the
needed pieces may not be installed, setup on the server -
only on your PC.
-Sue
On Mon, 26 Feb 2007 16:23:15 -0500, "Brian"
<wouldntulike2know> wrote:

>Server is SQL 2000 SP4. We are trying to pull some data from a Progress 9.1d
>server via ODBC. If I go to the local packages, open the package in question
>and execute it, everything runs fine and it gets the data. If I try and run
>the job manually from the job list in the SQL server agent, it fails with
>the following error showing in the job history:
>Executed as user: <service account>. DTSRun: Loading... DTSRun:
>Executing... DTSRun OnStart: DTSStep_DTSExecuteSQLTask_1 DTSRun
>OnFinish: DTSStep_DTSExecuteSQLTask_1 DTSRun OnStart:
>DTSStep_DTSDataPumpTask_1 DTSRun OnError: DTSStep_DTSDataPumpTask_1,
>Error = -2147467259 (80004005) Error string: Specified driver could
>not be loaded due to system error 126 (MERANT 3.60 32-BIT Progress SQL92
>v9.1D). Error source: Microsoft OLE DB Provider for ODBC Drivers
>Help file: Help context: 0 Error Detail Records:
> Error: -2147467259 (80004005); Provider Error: 160 (A0) Error
>string: Specified driver could not be loaded due to system error 126
>(MERANT 3.60 32-BIT Progress SQL92 v9.1D). Error source: Microsoft OLE
>DB Provider for ODBC Drivers Help file: Help context: 0
>DTSRun OnFinish: DTSStep_DTSDataPumpTask_1 DTSRun: Package execution
>complete. Process Exit Code 1. The step failed.
>All I've been able to find about the error code 126 is the ODBC driver and
>error -2147467259 seems to indicate a problem with the ODBC driver. But if
>the driver was the problem, I don't understand why it only fails when run as
>a SQL server agent job. I tried changing the service account to an admin
>account instead, but it didn't make a difference.
>Not sure where else to turn, so I'm hoping some people here might have some
>ideas.
>Thanks
>Brian
>
|||"Sue Hoegemeier" <Sue_H@.nomail.please> wrote
> First, when you execute a package manually it runs from your
> PC and under your security context.
Sorry I wasn't clear. Everything I am trying is on the server.

> Did you install the Merant drivers on the server?
Yes. They test and work correctly when I execute the package, but not when I
run the job logged on with the same authority. I also tried using the
service account authority and that didn't work either.
|||Try logging onto the server using the service account that
SQL agent runs under. While logged in using this account,
install the Merant drivers.
And it never hurts to run Component checker to make sure the
MDAC installation is correct. You can download the tool
from:
http://msdn2.microsoft.com/en-us/data/aa937730.aspx
-Sue
On Tue, 27 Feb 2007 09:47:50 -0500, "Brian"
<wouldntulike2know> wrote:

>"Sue Hoegemeier" <Sue_H@.nomail.please> wrote
>Sorry I wasn't clear. Everything I am trying is on the server.
>
>Yes. They test and work correctly when I execute the package, but not when I
>run the job logged on with the same authority. I also tried using the
>service account authority and that didn't work either.
>

Sunday, March 11, 2012

Data Conversion Components & Code Page issue

I am using the SSIS wizard to pull data from DB2 z/os to sql server. The data flow task that is created converts the data to DT_STR Ansi 1252 before storing to sql server database. The package is blowing up on in the data conversion component...no match in found in target code page...for my city name field.

My old dts wizard didn't have this problem. The forums seem to indicate that SSIS is no longer doing some of the implicit conversions that DTS did and I may have to do more than one conversion.

What format type/code page do I use for the other conversion? The code page for my DB2 data source is 37.

I've tried several scenarios and none of them have worked. Any hints?

Quick and dirty work around was to change the destination column to nchar.|||

This one is a good workaround if you don't mind your strings being Unicode at the destination.

If you would rather keep your ANSI strings, then you should go to the package set the appropriate code page in the data conversion transform and set the appropriate collation in the CREATE TABLE statement.

Thanks.

|||

I tried that and couldn't get it to work.

My problem isn't a foreign language issue, but a special character issue. My old DTS packages accepted the special characters without a fuss but I'm told SSIS isn't doing the implicit conversion that the old DTS use to do.

Obviously, I can't seem to figure out which code page to use. And where do I set all of these code pages? My input data is coming from DB2 z/OS which is using code page 37. Do I set the code page of the source component to 37? The destination? The transform component? I tried setting the code page with multiple scenarios...none worked.

There is no where that I can find that explains how to do a code page transformation except in the most general terms.

PS. Wouldn't I only change the collation for a foreign language?