【发布时间】:2011-08-23 00:44:20
【问题描述】:
我在 SQL Server 2008 R2 中有一个表。它包含 1M 或更多记录。现在我想在 oracle 中创建一个与 SQL Server 2008 R2 中内容相同的表。
【问题讨论】:
标签: sql-server oracle sql-server-2008 oracle10g data-transfer
我在 SQL Server 2008 R2 中有一个表。它包含 1M 或更多记录。现在我想在 oracle 中创建一个与 SQL Server 2008 R2 中内容相同的表。
【问题讨论】:
标签: sql-server oracle sql-server-2008 oracle10g data-transfer
有几种方法可以做到这一点。你可以先看看下面的教程:Migrating a Microsoft SQL Server Database to Oracle Database 11g
我过去曾使用以下步骤完成此任务:
Oracle SQL*Loader 实用程序是一个命令行工具,可让您将数据从文件加载到 Oracle。它使用控制文件来指定源文件、其结构和加载策略。
与使用 INSERT 语句加载相比,使用该工具的优势在于加载速度。由于此工具绕过了日志文件,因此非常实用。
这里是 SQL 加载器教程的链接:SQL*Loader FAQ
来自本教程:
用法:
sqlldr username/password@server control=loader.ctl
控制文件示例:
(1) load data
(2) infile 'c:\data\mydata.csv'
(3) into table emp
(4) fields terminated by "," optionally enclosed by '"'
(5) ( empno, empname, sal, deptno )
第 1 行:指定要将数据加载到表中
第 2 行:指定包含数据的源文件
第 3 行:指定目标表
第 4 行:指定列分隔符(示例中为逗号),字符串值可以用 " 字符括起来。
第 5 行:指定文件中列的顺序
数据文件示例(对应上面的控制文件):
10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20
希望对您有所帮助。
科比
【讨论】: