csv数据导入数据库,该怎么处理
csv数据导入数据库我想把csv里面的数据导入到数据库中,所使用的语句如下,各种错误啊。请问还有什么方式吗?S
csv数据导入数据库
我想把csv里面的数据导入到数据库中,所使用的语句如下,各种错误啊。请问还有什么方式吗?
SQL codeINSERT INTO NewTableSELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)}; DEFAULTDIR=E:\2012-09-07\;Extensions=CSV;','SELECT * FROM ExportData.csv')
所出现的问题大概有下面的,有时候是对的有时候又是错的,不知道为什么。
错误1:
链接服务器"(null)"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[Microsoft][ODBC 文本 驱动程序] 超出系统资源。"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。
错误2:
消息 233,级别 20,状态 0,第 0 行
在向服务器发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
错误3:
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASQL" 报错。提供程序未给出有关错误的任何信息。
消息 7330,级别 16,状态 2,第 1 行
无法从链接服务器 "(null)" 的 OLE DB 访问接口"MSDASQL"提取行。
错误4:
其中有一字段有的值为数字,有的是汉字,所以我在建表时用了nvarchar(60),但是查询出来的数据只显示数字的,所有汉字的那些都为null了。
问题2还有就是,我要写个程序,读取本地的csv,导入的是远程服务器,请问怎么实现,谢谢大家了。
[解决办法]用 Bulk Insert 应该可以。
[解决办法]改成下面试试
SQL codeSELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=E:\2012-09-07','SELECT * FROM ExportData.csv')
[解决办法]
SQL codesp_configure 'show advanced options',1GORECONFIGUREGOsp_configure 'Ad Hoc Distributed Queries',1GORECONFIGUREGO