使用sql server表在oracle中创建表

Nav*_*vin 5 sql-server oracle data-transfer oracle10g sql-server-2008

我在sql server 2008 r2中有一个表,它包含1M或更多记录现在我想在oracle中创建与sql中相同内容的表.

Kob*_*ahy 6

有几种方法可以做到这一点.您可以先查看以下教程:将Microsoft SQL Server数据库迁移到Oracle Database 11g

我以前使用以下步骤完成了这项任务:

  1. 在Oracle数据库中创建表(仅架构,而不是数据).
  2. 将数据从SQL服务器导出到1个或更多CSV(或任何其他分隔符文件(我建议创建不超过100,000条记录的文件)
  3. 使用SQL*Loader(oracle utilily)将文件中的数据加载到oracle.

Oracle SQL*Loader 实用程序是一个命令行工具,允许您将文件中的数据加载到Oracle.它使用控制文件来指定源文件,其结构和加载策略.

使用工具与使用INSERT语句加载的优点是加载速度.由于这个工具绕过了日志文件,因此它非常流行.

以下是SQL Loader教程的链接:SQL*Loader FAQ

从本教程:

用法:

 sqlldr username/password@server control=loader.ctl
Run Code Online (Sandbox Code Playgroud)

控制文件样本:

(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 )
Run Code Online (Sandbox Code Playgroud)

第1行:您要将数据加载到表中的资产

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

第3行:指定目标表

第4行:指定列分隔符(示例中为逗号),该字符串值可能用"char"括起来.

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

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

10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20
Run Code Online (Sandbox Code Playgroud)

希望它有所帮助.

Koby