使用Openrowset导入错误

使用Openrowset导入错误,第1张

使用Openrowset导入错误

问题原因是Oledb提供程序

导入具有混合数据类型列的csv文件或excel文件时,它将用替换非主要类型

null
。( 使用Oledb或Ace.Oledb

解决方法

您可以通过添加包含字符串值的第一行,然后在完成提示后将其删除来进行一些变通

ID,A,B,C0,a,a,a1,12,hh,i2,ab12,tt,b3,2,aa,o4,bc12,ee,l

如果使用,它将解决此问题

IMEX=1

这会将列读取为字符串,将ID列读取为数字。(使用0)

或将

HDR=NO
属性添加到连接字符串,以便标头是导入的第一行(其所有值都是字符串)

在本文中阅读有关混合数据类型的更多信息

其他方法

或者尝试在没有aceoledb提供程序的情况下实现此目的,而只是以其他方式导入csv文件,如下所示:

使用Microsoft文本驱动程序

SELECt * FROM OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:;','SELECt * FROM abc.csv')

使用批量插入

CREATE TABLE dbo.MyTable (ID INTEGER, A VARCHAr(50), B VARCHAr(50), C VARCHAr(50))BULK INSERT dbo.MyTableFROM 'C:abc.csv'WITH   (    FIELDTERMINATOR = ',',     ROWTERMINATOR = 'n'   )

这些文章中的其他详细信息:

  • 如何使用OPENROWSET导入csv文件?
  • T-SQL-使用OpenRowSet读取CSV文件 (详细教程)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5587868.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存