gpt4 book ai didi

tsql - SQL 中的 OpenRowSet 命令返回 NULL

转载 作者:行者123 更新时间:2023-12-02 04:48:38 25 4
gpt4 key购买 nike

已经调查了一段时间,但一直碰壁。我通过 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$]')

最佳答案

我注意到您正在使用 Excel ODBC 驱动程序。您是否尝试过使用等效连接字符串的 JET OLEDB 提供程序?

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$]')

编辑:抱歉,刚刚注意到你的最后一段。当然,Excel ODBC 驱动程序仍然通过 JET 引擎,那么它会有什么不同呢?

编辑:我查看了 KB194124 链接,它建议的注册表值是我的计算机上的默认值,我从未更改过。上面的方法我自己也用过几次,没有出现问题。也许这是一个环境问题?

关于tsql - SQL 中的 OpenRowSet 命令返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com