2017-06-05 79 views
1

我尝试使用下面的代码从CSV文件导入数据ACE.OLEDB.12.0:SQL Server 2012中从CSV

select * FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0', 
    'Text;Database=C:\Users\Evgeny\Desktop;HDR=Yes;FORMAT=Delimited(;)', 
    'SELECT * FROM [test.csv]' 
); 

我的数据有一个结构,其中一号线有列名:

"Name1";"Name2";"Name3" 
"Value1";"Value2";"Value3" 

但查询后执行,结果只有一列,就像这样:

Name1 
Value1 

什么可能是一个问题? 我该如何解决这个问题,而不是其他的司机,因为我的工作地点,我不能这样做。

回答

1

尝试使用OPENROWSETBULK

SELECT * FROM OPENROWSET(
BULK 'FILE.csv', 
SINGLE_CLOB) AS DATA; 

或者使用Microsoft文本驱动程序:

您也可以按照我的答案在Import error using Openrowset它可以帮助你

+0

谢谢。但现在最简单的方法是将文件保存为.xlsx =( –

+0

我不理解您。您是否要求导入xlsx或csv – Hadi

+0

如果您按照此链接https://stackoverflow.com/questions/41883658/import- error-using-openrowset/41945440#41945440你会发现从导入csv使用oledb提供程序并不是最佳实践,因为当导入包含多个数据类型的列时,它将导致问题 – Hadi