Ste*_*McD 6 t-sql excel import-from-excel openrowset
现在正在调查一段时间并继续撞砖墙.我通过OpenRowset命令从xls文件导入临时表.现在我有一个问题,我试图导入某个列有一个范围值,但最常见的是以下.列结构为长数字,即15598,一些列为字符串,即15598-E.
现在openrowset正在读取字符串版本没有问题,但是将数字版本报告为NULL.我读(http://www.sqldts.com/254.aspx)是OPENROWSET有问题,笔者谈到实施"HDR = YES; IMEX = 1"进入查询字符串,但是,这不是为我工作的.
有没有人遇到过这个?
还有一些信息.我可能不会使用JET引擎(Microsoft.Jet.OLEDB.4.0)这样做,所以这是我的查询:
SELECT *
FROM
OPENROWSET('MSDASQL'
, 'Driver=Microsoft Excel Driver (*.xls);HDR=YES;IMEX=1;DBQ=C:\ImportFile.xls;'
, 'SELECT * FROM [Sheet1$]')
Run Code Online (Sandbox Code Playgroud)
我注意到您正在使用Excel ODBC驱动程序.您是否尝试过使用等效连接字符串的JET OLEDB Provider?
select * from openrowset(
'Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\ImportFile.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"',
'SELECT * FROM [Sheet1$]')
Run Code Online (Sandbox Code Playgroud)
编辑:对不起,刚刚注意到你的最后一段.当然Excel ODBC驱动程序仍然通过JET引擎,所以它有什么区别?
编辑:我看过KB194124链接,它推荐的注册表值是我的机器上的默认值,我从来没有改变过.我自己多次使用上述方法没有问题.也许这是一个环境问题?
| 归档时间: |
|
| 查看次数: |
5683 次 |
| 最近记录: |