我已經被賦予了將MS SQL Server中的巨大數據庫轉換爲Oracle的任務。數據庫有超過150個表,包含許多約束,默認值和關係,以及許多存儲過程和觸發器。現在我想知道兩件事:將所有列單元從字節更改爲字符
- 這是如何通常完成的?我們是否必須爲每個對象逐個手動執行或者有更好的方法?
- Oracle中的字符串列默認以字節爲單位創建。我如何更新所有表中的所有列從字節到字符?
在此先感謝。
我已經被賦予了將MS SQL Server中的巨大數據庫轉換爲Oracle的任務。數據庫有超過150個表,包含許多約束,默認值和關係,以及許多存儲過程和觸發器。現在我想知道兩件事:將所有列單元從字節更改爲字符
在此先感謝。
我使用ADO.NET元數據檢索數據庫結構的自制批處理將MS SQL Server數據庫遷移到Informix。我這樣做是因爲我找不到適合此轉換的工具。對於可以使用exisitng工具遷移的數據庫,我不會建議這種方法。
因此,在遷移到Oracle的情況下,最好使用一些現有的工具是這樣的:
http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html
爲2:這將更新所有BYTE列CHAR
BEGIN
FOR x in (SELECT * FROM user_tab_columns WHERE data_type LIKE 'VARCHAR%' and CHAR_USED = 'B')
LOOP
DBMS_OUTPUT.PUT_LINE('ALTER TABLE '||x.table_name||' MODIFY '||x.column_name||' '||x.data_type||'('||x.data_length||' CHAR)');
END LOOP;
END;
/
謝謝身體。你提供的鏈接真的很棒。我正在使用SQL Devloper for Oracle。但我不知道它的遷移能力。現在,我意識到我浪費了很多時間運輸表格。 –