SQL Server資料庫轉換成oracle

來源:互聯網
上載者:User

標籤:sdn   ble   指定   acl   data   time   arc   步驟   identity   

來源:http://blog.csdn.net/hzfu007/article/details/6182151

經常碰到需要把sql server的資料移轉到Oracle的情況。

在網上尋找一下,有很多方法,有用第三方工具的等,但sql server本身就提供一個“匯入匯出”的工具,用這個工具就可以把sql server資料轉換到oracle中。

下面簡單列一下操作步驟:

1、

在sql server中開啟匯入匯出工具,在選擇來源資料介面上選擇資料來源,一般預設就可以了。輸入來源資料的伺服器ip、使用者名稱、密碼,選擇資料庫,下一步。

2、

選擇目的介面中,這裡要說明下,最好選擇”MicroSoft OLE DB Provider for Oracle方式(這種方式有個缺點就是如果sqlserver表中含有ntext欄位的時候,且有多個的時候,就轉換不了,這個時候用Oracle Provider  for ole DB這種方式就行,用這個方式的時候,在轉換介面的時候,因為預設會用long欄位來對應,所以需要手工在列映射與轉換介面直接把建表語句中的long欄位修改成clob,再轉換,ok),選擇另外其他方式時那些表和欄位的映射好像不太準確(我沒有一一去驗證其他方式).輸入伺服器名稱和使用者密碼,測試成功後,下一步。

3、在指定複製或查詢介面中,選擇“從資料庫複寫表和視圖”方式,下一步。

4、在選擇源表和視圖介面中,選擇要轉移的表和視圖。然後一直按照提示來操作就可以了。

注意事項:

1、這些表中的欄位對應可能要手工來指定。不過一般自動預設都可以了。

2、sqlserver匯入到oracle的表和欄位在oracle中用sql語句訪問的時候需要加上雙引號才能訪問,這個就非常麻煩。因為資料移轉的時候需要

頻繁的操作這些。所以我用了一個很簡單的方法,就是在oracle重建所有表,然後把資料拷進來。

附:

 

 

Access, SQL Server, and Oracle資料類型的對應關係

 

 

The table below shows the ADO Data Type mapping between Access, SQL Server, and Oracle:

DataType Enum Value Access SQLServer Oracle
adBigInt 20   BigInt (SQL Server 2000 +)  
adBinary 128   Binary
TimeStamp
Raw *
adBoolean 11 YesNo Bit  
adChar 129   Char Char
adCurrency 6 Currency Money
SmallMoney
 
adDate 7 Date DateTime  
adDBTimeStamp 135 DateTime (Access 97 (ODBC)) DateTime
SmallDateTime
Date
adDecimal 14     Decimal *
adDouble 5 Double Float Float
adGUID 72 ReplicationID (Access 97 (OLEDB)), (Access 2000 (OLEDB)) UniqueIdentifier (SQL Server 7.0 +)  
adIDispatch 9      
adInteger 3 AutoNumber
Integer
Long
Identity (SQL Server 6.5)
Int
 
Int *
adLongVarBinary 205 OLEObject Image Long Raw *
Blob (Oracle 8.1.x)
adLongVarChar 201 Memo (Access 97)
Hyperlink (Access 97)
Text Long *
Clob (Oracle 8.1.x)
adLongVarWChar 203 Memo (Access 2000 (OLEDB))
Hyperlink (Access 2000 (OLEDB))
NText (SQL Server 7.0 +) NClob (Oracle 8.1.x)
adNumeric 131 Decimal (Access 2000 (OLEDB)) Decimal
Numeric
Decimal
Integer
Number
SmallInt
adSingle 4 Single Real  
adSmallInt 2 Integer SmallInt  
adUnsignedTinyInt 17 Byte TinyInt  
adVarBinary 204 ReplicationID (Access 97) VarBinary  
adVarChar 200 Text (Access 97) VarChar VarChar
adVariant 12   Sql_Variant (SQL Server 2000 +) VarChar2
adVarWChar 202 Text (Access 2000 (OLEDB)) NVarChar (SQL Server 7.0 +) NVarChar2
adWChar 130   NChar (SQL Server 7.0 +)  

* In Oracle 8.0.x - decimal and int are equal to number and number(10).

SQL Server資料庫轉換成oracle

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.