Nav*_*vin 5 sql-server oracle data-transfer oracle10g sql-server-2008
我在sql server 2008 r2中有一个表,它包含1M或更多记录现在我想在oracle中创建与sql中相同内容的表.
有几种方法可以做到这一点.您可以先查看以下教程:将Microsoft SQL Server数据库迁移到Oracle Database 11g
我以前使用以下步骤完成了这项任务:
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