sql server2008数据导入导出问题

时间:2022-12-07 06:35:18
我想将服务器上的sql server2008数据库中的某个表中的部分数据导出成文件,然后用文件导入到我的机器上的sql server2008数据库中,文件我已经用过.csv,.txt,.xls,导入方式我用了dts,还用用bulk insert语句,总是说部分字段数据类型不匹配导致导入失败。
这是我的bulk insert语句。BULK INSERT EVCS2000.dbo.HIS_PACK_02_00015 FROM 'd:\wx-15.csv' with(FIELDTERMINATOR=',',ROWTERMINATOR='\n')
结果是消息 4864,级别 16,状态 1,第 1 行
第 1 行、第 1 列(id)出现大容量加载数据转换错误(类型不匹配或者字符对于指定的代码页无效)。
如果用dts导入.xls时,部分字段从double装换成int出现错误。
那位高手告诉我一个很行的导入导出某个表部分数据的方法,谢谢了

6 个解决方案

#1


用企业管理器自带的那个导出数据,也可以用这个导入数据,不过中间时注意数据类型的转换.

#2


可以用MSSQL自带的导入功能,源数据选服务器,目标数据选你本机库,导入的类型选T-SQL查询,然后指定好映射表和类型应该就可以了。

#3


由于源数据库服务器和我本机是不联网的,所以必须用文件传递数据,但是用文件传递数据,部分字段的数据类型会改变,导致导入的时候数据类型不匹配,各位大哥可不可以给我可行的方法啊

#4


知道为什么不行吗?

因为你没有试试mdb,呵呵。

用access代替xls、csv或txt进行操作。

#5


服务器上没有Access,我怎么导啊,大哥!

#6


。BULK INSERT EVCS2000.dbo.HIS_PACK_02_00015 FROM 'd:\wx-15.csv' with(FIELDTERMINATOR=',',ROWTERMINATOR='\n')
结果是消息 4864,级别 16,状态 1,第 1 行
第 1 行、第 1 列(id)出现大容量加载数据转换错误(类型不匹配或者字符对于指定的代码页无效)。

会不会有自增类型(identity),你试试指定 DATAFILETYPE 属性

#1


用企业管理器自带的那个导出数据,也可以用这个导入数据,不过中间时注意数据类型的转换.

#2


可以用MSSQL自带的导入功能,源数据选服务器,目标数据选你本机库,导入的类型选T-SQL查询,然后指定好映射表和类型应该就可以了。

#3


由于源数据库服务器和我本机是不联网的,所以必须用文件传递数据,但是用文件传递数据,部分字段的数据类型会改变,导致导入的时候数据类型不匹配,各位大哥可不可以给我可行的方法啊

#4


知道为什么不行吗?

因为你没有试试mdb,呵呵。

用access代替xls、csv或txt进行操作。

#5


服务器上没有Access,我怎么导啊,大哥!

#6


。BULK INSERT EVCS2000.dbo.HIS_PACK_02_00015 FROM 'd:\wx-15.csv' with(FIELDTERMINATOR=',',ROWTERMINATOR='\n')
结果是消息 4864,级别 16,状态 1,第 1 行
第 1 行、第 1 列(id)出现大容量加载数据转换错误(类型不匹配或者字符对于指定的代码页无效)。

会不会有自增类型(identity),你试试指定 DATAFILETYPE 属性