Best way to update an Oracle Table?

I have an Access table with over a million records.  What is the quickest way to update an Oracle table with these records in access?  export to CSV file and import into Oracle? Oracle SQL import process??  Thanks in advance.

pandkyon
pandkyonAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mrjoltcolaCommented:
Depends on which version of Oracle. With recent versions, if you can export them to a CSV, then you can create an external table for Oracle and use SQL in Oracle to do merge. Prior to external tables, you would need to use sql loader to pull them into an Oracle staging table, then do an update to the target table. Either way, getting them out of access and into a fixed or delimited format will make it easier for bulk loading with Oracle.

If you have a lot of time, you could use Intelligent Converters Access-to-Oracle tool. It will take a few hours to insert that many. The problem will be if you want to repeatedly do this update, I would probably not use the tool, instead, use a tool that extracts from Access to CSV as fast as possible. Once it is in a flat file, Oracle sql loader or external tables with data pump is the fastest way. It can load a million rows in minutes.

Since I don't know Access so well, I cannot recommend much on that side, except the conversion tool I use, listed above.

0
schwertnerCommented:
Creating a dblink to Access from Oracle and update the Oracle table.
Creating CSV file and using external tables is an alternative.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
shru_0409Commented:
Hello,

You should explore access database and see if you can find an option to save data in csv (comma seperated variable) or delimited by any other special character
One of the Easy Way
1) Create csv files from Acess
2) Load to oracle using sqlloader utility or using External tables.

you want to use e.g "|" or "~" ,";" ...
You don't need any special privs to use sqlldr but you do need create, read, and write to directory privs and access to db server for external tables. See following links for examples of sqlldr and external tables.

SqlLoader
http://www.orafaq.com/wiki/SQL*Loader_FAQ

External Tables
http://www.oracle-base.com/articles/10g/OracleDataPump10g.php#ExternalTables
0
Mark GeerlingsDatabase AdministratorCommented:
The quickest way is export the data from Access into either a CSV or fixed-length ASCII file, then move or copy that file to the Oracle server (unless the Access database is also on the Oracle server) then use Oracle's SQL*Loader (not Oracle import) to load the data into an Oracle table.  You must create the table in Oracle though before you can load this data into it.
0
pandkyonAuthor Commented:
Thanks! that worked  Alos thanks to others as well, they were basically point in the same direction.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.