SQL Server 2000的導入導出功能還是不錯的,支持各種各樣的數據庫,但是卻有好多奇怪的bug,不能直接操作,幾乎每一步都要上網搜索,最后搞定了,一定要記下來:
1、在同一臺電腦上裝好SQL Server 2000的客戶端和Oracle 10g的客戶端,并分別設置好到源數據庫(SQL Server 2000數據庫)和目標數據庫(Oracle 數據庫)的連接,兩個數據庫都有圖形界面的企業管理器,很容易設置好;
2、在控制面板-管理工具-數據源里添加一個DSN,驅動程序選擇類似“Oracle in OraClient10g_home1”的,確定之后輸入Data Source Name(隨意),Description(隨意),TNS Service Name(在企業管理器里設置好的連接名),User ID(用戶名),然后按Test Connection測試是否連接成功,成功之后點OK;
3、在SQL Server 2000的企業管理器里,在任意一個表上點右鍵,所有任務,導出數據,在目的里選擇“Oracle in OraClient10g_home1”,用戶/系統DSN里面就會出現剛才設置好的DSN名字,選中,然后輸入用戶名密碼,點兩次下一步就會出現選擇源表和視圖對話框
4、這里要注意的是,勾上源中的某個表,在目的里面就會出現"用戶名"."表名"的默認選項,如果你剛才使用的Oracle用戶名是小寫的話,這里也會是小寫,一定要改成大寫,否則會提示該用戶名不存在!
目的也可以使用Microsoft OLE DB Provider for Oracle,在屬性里面設置服務器名稱為Oracle的TNS名稱,用戶名和密碼輸入Oracle用戶名和密碼,測試連接通過即可,后面的步驟都一樣。
如果出現以下錯誤:
就要修改注冊表,有人已經作出了詳細的修改說明,在這里可以看到:
我把那個表也貼在這里:
1、在同一臺電腦上裝好SQL Server 2000的客戶端和Oracle 10g的客戶端,并分別設置好到源數據庫(SQL Server 2000數據庫)和目標數據庫(Oracle 數據庫)的連接,兩個數據庫都有圖形界面的企業管理器,很容易設置好;
2、在控制面板-管理工具-數據源里添加一個DSN,驅動程序選擇類似“Oracle in OraClient10g_home1”的,確定之后輸入Data Source Name(隨意),Description(隨意),TNS Service Name(在企業管理器里設置好的連接名),User ID(用戶名),然后按Test Connection測試是否連接成功,成功之后點OK;
3、在SQL Server 2000的企業管理器里,在任意一個表上點右鍵,所有任務,導出數據,在目的里選擇“Oracle in OraClient10g_home1”,用戶/系統DSN里面就會出現剛才設置好的DSN名字,選中,然后輸入用戶名密碼,點兩次下一步就會出現選擇源表和視圖對話框
4、這里要注意的是,勾上源中的某個表,在目的里面就會出現"用戶名"."表名"的默認選項,如果你剛才使用的Oracle用戶名是小寫的話,這里也會是小寫,一定要改成大寫,否則會提示該用戶名不存在!
目的也可以使用Microsoft OLE DB Provider for Oracle,在屬性里面設置服務器名稱為Oracle的TNS名稱,用戶名和密碼輸入Oracle用戶名和密碼,測試連接通過即可,后面的步驟都一樣。
如果出現以下錯誤:
OLE DB 提供程序 'MSDAORA' 報錯。
[OLE/DB provider returned message: 未找到 Oracle 客戶端和網絡組件。這些組件是由 Oracle 公司提供的,是 Oracle 8i 版 (或更高) 客戶軟件安裝的一部分。
在安裝這些組件之前,將無法使用此提供程序。]
OLE DB 錯誤跟蹤[OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80004005: ]
就要修改注冊表,有人已經作出了詳細的修改說明,在這里可以看到:
我把那個表也貼在這里:
Oracle Client | Microsoft Windows NT、 Oracle Microsoft Windows 95、 Client Windows 98 和 Windows 98 SE |
Microsoft Windows 2000/XP/2003 |
7.x | [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\TransactionServer\Local Computer\My Computer] "OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll" "OracleOciLib"="ociw32.dll
|
[HKEY_LOCAL_MACHINE\SOFTWARE Microsoft\MSDTC\MTxOCI] "OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll" "OracleOciLib"="ociw32.dll" |
8.0 | [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="xa80.dll" "OracleSqlLib"="sqllib80.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="xa80.dll" "OracleSqlLib"="sqllib80.dll" "OracleOciLib"="oci.dll" |
8.1 | [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient8.dll" "OracleSqlLib"="orasql8.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient8.dll" "OracleSqlLib"="orasql8.dll" "OracleOciLib"="oci.dll" |
9.0 | [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient9.dll" "OracleSqlLib"="orasql9.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient9.dll" "OracleSqlLib"="orasql9.dll" "OracleOciLib"="oci.dll" |
10.0 | [HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Transaction Server \Local Computer\My Computer] "OracleXaLib"="oraclient10.dll" "OracleSqlLib"="orasql10.dll" "OracleOciLib"="oci.dll" |
[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\MSDTC\MTxOCI] "OracleXaLib"="oraclient10.dll" "OracleSqlLib"="orasql10.dll" "OracleOciLib"="oci.dll" |