首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

csv数据导入数据库,该怎么处理

2012-10-07 
csv数据导入数据库我想把csv里面的数据导入到数据库中,所使用的语句如下,各种错误啊。请问还有什么方式吗?S

csv数据导入数据库
我想把csv里面的数据导入到数据库中,所使用的语句如下,各种错误啊。请问还有什么方式吗?

SQL code
INSERT 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 code
SELECT * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=E:\2012-09-07','SELECT * FROM ExportData.csv')
[解决办法]
SQL code
sp_configure 'show advanced options',1GORECONFIGUREGOsp_configure 'Ad Hoc Distributed Queries',1GORECONFIGUREGO 

热点排行