1、进入sql server端进入dos命令窗口,输入命令
根据查询内容导出 .csv文件或.txt文件
Bcp"select[id],[ndirid],[strprojectno],[strproject],[strsubject],[strphase],[strdrawingno],[strdrawingname],[strpapername],[strversion],[dtcus_01],[strprjmgrname],[strdesignname],[strcheckname],[strproofname],[strapprovename],[strsubjectmgrname],[ndwgstore],[npltstore],[npdfstore] from [SGMARKET].[dbo].[tb_cad_file] where [brecycler]=0 and [bdelete]=0" queryout d:\sql\1.csv -c -t* -T -S (local)
注意:bcp要空格、中间加查询语句,最后queryout 导出文件的地址及格式
-t后跟一个字符代表以该字符作为字段分隔符
-S后跟本机的sql server的服务器名sql server2008之后多为(local)
-c表示存储的数据类型
-T表示可信连接可以不需要sql server用户名密码执行操作
2、在Oracle中创建需要导入的表的结构
3、编写脚本.ctl文件
load data
infile 'd:/11.csv' --------->需要导入的数据路径
Truncate --------->导入数据前清空数据
into table tb_cad_file --------->要导进的表
fields terminated by "*" --------->指定与数据文件中相同的字段分隔符
optionally enclosed by '"'
trailing nullcols --------->指定没有数据的地方可以为null
(
id char, --------->对应表结构
ndirid char,
strprojectno char(500),
strprojectsub char(300),
strproject char(800),
strsubject char(200),
strphase char(200),
strdrawingno char(200),
strdrawingname char(500),
strpapername char(200),
strversion char(200),
dtcus_01 char(300),
strprjmgrname char(200),
strdesignname char(200),
strcheckname char(200),
strproofname char(200),
strapprovename char(200),
strsubjectmgrname char(200),
ndwgstore char,
npltstore char,
npdfstore char
)
4、通过Oracle安装目录bin下进入dos命令窗口
输入命令:
sqlldr system/[email protected]:1521/dndx control=D:\test.ctl log=D:\test.log
注意:
Sqlldr后空格system为Oracle用户名/manager为Oracle密码后跟@ip:端口号/服务器名 指定control脚本路径 输出日志路径
5、通过test.log查看错误原因修改
6、通过.bad文件查看错误数据数据少时可直接手动导入