我已经获得了将MS SQL Server中的大型数据库转换为Oracle的任务。该数据库有150多个表,这些表具有许多存储过程和触发器,其中包含许多约束,默认值和关系。现在我想知道两件事:
提前致谢。
对于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;
/
Run Code Online (Sandbox Code Playgroud)
我使用 ADO.NET 元数据检索数据库结构的自制批处理将 MS SQL Server 数据库迁移到 Informix。我这样做是因为我找不到适合此转换的工具。我不建议对可以使用现有工具迁移的数据库采用这种方法。
因此,如果迁移到 Oracle,最好使用一些现有工具,如下所示:
http://www.oracle.com/technetwork/database/migration/sqlserver-095136.html