使用SQL Server表在Oracle中创建表。

5

我在SQL Server 2008 R2中有一张表,其中包含100万条或更多记录。现在我想在Oracle中创建一张与SQL Server 2008 R2中相同内容的表。

1个回答

6
有几种方法可以实现。您可以首先查看以下教程:将Microsoft SQL Server数据库迁移到Oracle Database 11g 我曾经使用以下步骤完成过此任务:
1. 在Oracle数据库中创建表(仅架构,不包括数据)。 2. 将数据从SQL服务器导出到1个或多个CSV文件(或任何其他分隔符文件(建议创建不超过100,000条记录的文件)。 3. 使用Oracle实用程序SQL * Loader将数据从文件加载到Oracle。
Oracle SQL * Loader实用程序是一种命令行工具,允许您从文件加载数据到Oracle。它使用控制文件指定源文件、其结构和加载策略。
与使用INSERT语句加载相比,使用该工具的优点是加载速度更快。由于此工具绕过日志文件,因此速度非常快。
这是SQL Loader教程的链接: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 )

第一行:指定要将数据加载到表中

第二行:指定包含数据的源文件

第三行:指定目标表

第四行:指定列分隔符(在示例中为逗号),并且字符串值可能会被“”字符括起来。

第五行:指定文件中的列顺序

数据文件示例(对应上述控制文件):

10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20

希望这有所帮助。 Koby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接