School of Information Management and Systems
IS 257 �Database Management
Converting Access Databases to Oracle
Saving delimited text files from Access:
Creating Tables in Oracle:
I suggest creating an SQL command file that contains multiple CREATE TABLE SQL commands, one for each table you want to create. The command files might look like the following examples from the Diveshop database:
CREATE TABLE BIOLIFE2 (
Species_No Number (10),
Category VARCHAR2(20),
Common_Name VARCHAR2(30),
Species_Name VARCHAR2(60),
Length_cm NUMBER(8,2),
Length_in NUMBER(8,2),
Notes VARCHAR2(1000),
Graphic2 VARCHAR2(20));
CREATE TABLE BIOSITE2 (
Species_No NUMBER(10),
Site_No NUMBER(10));
CREATE TABLE DEST2 (
Destination_No NUMBER(10),
Destination_Name VARCHAR2(60),
Avg_Temp_F NUMBER(8,2),
Avg_Temp_C NUMBER(8,2),
Spring_Temp_F NUMBER(8,2),
Spring_Temp_C NUMBER(8,2),
Summer_Temp_F NUMBER(8,2),
Summer_Temp_C NUMBER(8,2),
Fall_Temp_F NUMBER(8,2),
Fall_Temp_C NUMBER(8,2),
Winter_Temp_F NUMBER(8,2),
Winter_Temp_C NUMBER(8,2),
Accomodations VARCHAR2(40),
Night_Life VARCHAR2(40),
Body_of_Water VARCHAR2(40),
Travel_Cost NUMBER(8,2));
CREATE TABLE DIVECUST2 (
Customer_No NUMBER(10),
Name VARCHAR2(100),
Street VARCHAR2(100),
City VARCHAR2(50),
State_Prov VARCHAR2(30),
Zip_Postal_Code VARCHAR2(20),
Country VARCHAR2(30),
Phone VARCHAR2(20),
First_Contact DATE);
Etc�
Be sure each SQL create table statement is terminated by a semicolon. See the lectures or Oracle documentation for the datatypes permitted in Oracle databases.
You should probably also create a command file to remove the database, it would look like the following:
DROP TABLE BIOLIFE2 ;
DROP TABLE BIOSITE2 ;
DROP TABLE DEST2 ;
DROP TABLE DIVECUST2 ;
Etc�
This can be used to completely remove the tables and their data when there are problems with loading
Login to the Unix machine "irony" :
Edit the exported Access file for use in SQL*Loader
LOAD DATA
INFILE *
INTO TABLE DIVECUST2
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(Customer_No , Name, Street , City , State_Prov , Zip_Postal_Code , Country , Phone , First_Contact DATE(8) "MM/DD/YY")
BEGINDATA
1480.00,"Louis Jazdzewski","2501 O'Connor","New Orleans", "LA", "60332", "U.S.A.","(902) 555-8888",1/29/91
1481.00,"Barbara Wright","6344 W. Freeway","San Francisco","CA","95031","U.S.A.","(415) 555-4321",2/2/91
1909.00,"Stephen Bredenburg","559 N.E. 167 Place","Indianapolis","IN","46241","U.S.A.","(317) 555-3644",1/5/91
1913.00,"Phillip Davoust","123 First Street","Berkeley","CA","94704","U.S.A.","(415) 555-9184",3/9/91
sqlload userid=youroracleid/youroraclepass control=exportfilename log=somename.log