drop table table1
create table table1(...)
) 2.初始化中间库数据。 将sqlServer中的源数据经过一定的转化插入到中间库表中。 3.导出中间库数据。 导出命令如下:bcp.exe [DataBase].[dbo].tablename out "path\tablename.txt" -c -r"℡" -t"||" -S "IP" -U "Username" -P "PassWord" bcp命令的具体格式可以直接到网上搜索。把所有表的导出命令写到一个txt文件中,并改文件扩展名为bat。 4.编写数据表控制文件。 每个表编写一个控制文件,文件的扩展名为ctl。具体内容如下: LOAD DATACHaraCTERSET ZHS16GBK
INfile 'path\tablename.txt' "str X'A959'"
APPEND INTO table tablename
FIELDS TERMINATED BY "||"
TRAIliNG NulLColS
(
FIEldname1,FIEldname2...
) 如果表中有时间类型字段需要做点转换。FIELDTIME"to_date(substr(:FIELDname,1,19),'yyyy-mm-dd HH24:mi:ss')" 5.编写数据表的导入文件。 每个表编写一个导入命令文件,文件扩展名为bat。具体内容如下: 盘符:
cd 盘符:\控制文件上一层地址
sqlldr 用户名/密码@数据库名 Control="ctrl\tablename.ctl" log="log\tablename.log" Bad="data\bad\tablename.bad" Errors=100 Rows=1000 BindSize=3072000 StreamSize=3072000 ReadSize=839288
move /y data\tablename.txt data\bak\tablename.txt
pause 当数据表较多时,可以在Oracle数据库中建一个Package自动生成需要迁移的表的控制文件和导入命令文件。 6.建一个批量执行导入文件的bat文件。 总结
以上是内存溢出为你收集整理的数据迁移:从SqlServer到Oracle全部内容,希望文章能够帮你解决数据迁移:从SqlServer到Oracle所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)