SQL Server數據導入到Oracle中的方法
在我們使用SQL Server數據庫的過程中,有時需要將SQL Server數據導出,導入到其他的數據庫中,比如導入到Oracle中。
假設要將SQL Server中的Northwind數據庫中的Products表導出到Oracle的Scott用戶
首先需要有安裝SQL Server企業版
1.打開工具:
開始->程序->Microsoft SQLServer->導入和SQL Server數據導出數據
2.下一步,選擇數據源
[數據源]選擇“用于SQL Server的Microsoft OLE DB提供程序”,這應該是缺省值。
[服務器]選擇要導出數據的服務器,如果是本機,選擇(local)
[數據庫]選擇要導出的數據所在的庫,這里選擇Northwind
3.下一步,選擇目的
[目的]選擇Microsoft ODBC for Oracle
[DSN]選擇用戶/系統DSN一項,然后在下拉列表框中找一個已經連接到了Scott用戶的DSN名稱。
如果下拉列表中沒有,點下拉列表框右側的[新建],出現創建新數據源界面。
接下來選擇系統數據源,下一步,在驅動程序列表中選擇Microsoft ODBC for Oracle
下一步,完成,出現Microsoft ODBC for Oracle安裝界面
[數據源名稱]隨便輸入,比如sss
[說明]可以不填
[用戶名稱]填入要SQL Server數據導出到的Oracle用戶名稱,這里是scott
[服務器]填入要連接到Oracle服務器所使用的服務名,比方說使用sqlplus scott/tiger@server1可以連接到數據庫,那么這里就填入server1。如果本機就是服務器,使用sqlplus scott/tiger即可連接到數據庫,這里空著不填即可。
這樣就創建好了一個數據源sss,保證下拉列表框中選擇了sss一項。
[用戶名]填入SQL Server數據導出到的Oracle用戶名稱,這里是scott
[密碼]填入SQL Server數據導出到的Oracle用戶使用的密碼,這里是tiger
4.下一步,指定表復制或查詢
如果要導出的內容是整個表,選擇[從源數據庫復制表和視圖]
如果要導出的內容是表的一部分列,行,可以選擇[用一條查詢指定要傳輸的數據],這時需要寫出一個查詢語句
這里選擇第一項[從源數據庫復制表和視圖]
5.下一步,選擇源表和視圖
點中要導出的表Products一行的復選框,目的、轉換兩欄就會出現內容。
目的可以用來選擇表名。轉換可以用來修改列的數據類型或是整個建表的SQL語句
6.下一步,保存、調度和復制包
選中立即運行
7.下一步,正在完成DTS導入/導出向導
8.完成
提示“成功地將n個表從Microsoft SQLServer復制到了Oracle”
9.完成,關閉導入導出程序
注意:因為oracle的表名都是大寫的,而SQL的表可能是大小混寫的,所以導入后在oracle里查不到該表,比如這個Products表在oracle里查詢就應該寫成select * from scott."Products";為了方便查詢可以通過批量修改表名為大寫以便后面導數據的工作。
---導完數據后執行下面語句,生成把表名修改成大寫的操作
select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';' from user_tab_comments;
把生成的文件執行即可把此用戶下的所有表名修改成大寫。
【編輯推薦】