Sql OPENROWSET-文件名中存在空格问题
使用SQL Server 2016 我正在尝试使用OPENROWSET读取Excel文件。这非常有效:Sql OPENROWSET-文件名中存在空格问题,sql,sql-server,excel,Sql,Sql Server,Excel,使用SQL Server 2016 我正在尝试使用OPENROWSET读取Excel文件。这非常有效: SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml; HDR=YES; Database=D:\temp\my_filename_123.xlsx', 'SELECT * FROM [Sheet1$]') 请注意,文件名中没有空格。但是,以下措施不起作用: SELECT * FROM OPENROWS
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;
HDR=YES; Database=D:\temp\my_filename_123.xlsx', 'SELECT * FROM [Sheet1$]')
请注意,文件名中没有空格。但是,以下措施不起作用:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;
HDR=YES; Database=D:\temp\my filename 123.xlsx', 'SELECT * FROM [Sheet1$]')
或者使用双引号将整个路径括起来:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;
HDR=YES; Database="D:\temp\my filename 123.xlsx"', 'SELECT * FROM [Sheet1$]')
错误是“…找不到'Sheet1$”…等”
请帮忙。
注意。尝试从Excel版本规范中删除XML:
select *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\temp\my filename 123.xlsx;HDR=YES', 'SELECT * FROM [Sheet1$]')
对我来说,这很好这是一个潜在的复制品吗?不,不是。这是一个完全不同的问题。我使用的不是Microsoft Access驱动程序,而是Ace OleDB。此外,我没有尝试打开文本/csv文件,而是Excel 2010 XLSXS尝试了这个
SELECT*FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','excel12.0xml;HDR=YES;Database=[D:\temp\my filename 123.xlsx],'SELECT*FROM[Sheet1$]')
(或者可能是Database=D:\temp\[my filename 123.xlsx]
)我试过了,但不起作用……谢谢安东,但这篇文章已经有1.5年历史了。无论如何,我会记住你的建议:)