Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: SQL Server to Oracle DB

Re: SQL Server to Oracle DB

From: <>
Date: Mon, 20 May 2002 11:13:35 -0800
Message-ID: <>

The code to do this in Perl is trivial, and you get the bonus of complete control,
as well as the ability to generate sqlloader control and paramters files on the fly.

Jared Still
Oracle DBA and Part Time Perl Evangelist ( feels like full time lately )

"Tim Gorman" <>
Sent by:
05/20/2002 10:43 AM
Please respond to ORACLE-L  

        To:     Multiple recipients of list ORACLE-L <>
        Subject:        Re: SQL Server to Oracle DB

...speaking of $0.02, make sure that the utility from SQL Server that produces the "flat" file does not perform unsolicited rounding of numerics. I was recently burned on a Sybase->Oracle conversion when the BCP (a.k.a. "bulk copy") and ISQL (a.k.a. SQL*Plus in Sybase) utilities each implicitly round numeric data to the 2nd digit to the right of the decimal. Since SQL Server comes from Sybase, beware...  

In ISQL, I could just divide everything by 1.0000 to get the true precision, but BCP doesn't provide that option. Instead, I wrote a shell script to query the Sybase data dictionary to generate the "C" program sources for each table. The Sybase APIs were perfectly capable of handling numeric precision, but the %&^&#* Sybase developers who wrote ISQL and BCP were too lazy to use them correctly. Since the ODBC driver from MS-Access seemed to use the API correctly (i.e. no implicit rounding seen), then maybe the MS folks are more diligent...  

Just FYI...
----- Original Message -----
To: Multiple recipients of list ORACLE-L Sent: Monday, May 20, 2002 9:08 AM


Yes. The way I've done it in the past is to generate tilde (~) delimited flat files and then load the data into Oracle via SQL*Loader. You have to do a mapping first before using SQL*Loader. Then you have to write scripts for each table you are loading. I recommend the O'Reilly book Oracle SQL*Loader, The Definitive Guide. This is a process that can take time especially if the Oracle application needs data that the old legacy DB doesn't provide.  

My $0.02 worth,
Ken Janusz, CPIM
----- Original Message -----
To: Multiple recipients of list ORACLE-L Sent: Monday, May 20, 2002 9:03 AM

Anyone know of an easy way to grab data from tables in an SQL Server DB and insert into tables in an Oracle DB? Thanks.


Please see the official ORACLE-L FAQ:


Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
To REMOVE yourself from this mailing list, send an E-Mail message to: (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Mon May 20 2002 - 14:13:35 CDT

Original text of this message