am trying to import data from an Informix database every midnight. Eac
import will take in ~2million records from a table and i have like
DTS package to import data from 3 different tables every night.
As the Informix database server is a in-production server, I wan
prevent "locking" of the informix db. Is there anywhere i can se
isolation in DTS?
Also, i would like to import data at the fastest speed possible so a
to not hinder with other operations, would dts import/export wizard b
good enough? As i am relatively new to ms sql, are there other ways t
import data?
Thirdly, i am currently using the dts wizard for import. I notice
should Informix throw any error, the dts will stop and return a
informix sqlerr error and no rows will be inserted into ms sql, i
there any way to implement a commit after x rows / note the errror ro
but skip the error row and continue / set a flag, restart e dts an
continue?
kindly point me in the correct direction
tbanks a lo
--
reen
Doug Lawry - 31 Mar 2006 11:35 GMT
> am trying to import data from an Informix database every midnight. Each
> import will take in ~2million records from a table and i have like 3
[quoted text clipped - 19 lines]
>
> tbanks a lot
You should look into defining a Linked Server in Enterprise Manager. With the
same ODBC or OLEDB connection details you are currently using for DTS, you can
make it possible to create a cursor in a SQL Server stored procedure such as:
DECLARE cursor_name CURSOR FOR
SELECT * FROM OPENQUERY (
linked_server_name,
'EXECUTE PROCEDURE procedure_name(parameters)'
)
In your Informix procedure, you can then have statements such as:
SET ISOLATION TO DIRTY READ
SET LOCK MODE TO WAIT 60
You would return multiple rows using:
RETURN ... WITH RESUME
In your SQL Server procedure, you can control how often you commit rows, etc.

Signature
Regards,
Doug Lawry
www.douglawry.webhop.org