有人可以解释 Opendatasource/Openrowset 的魔力吗?

Sql*_*hes 8 sql-server-2008 excel

从 excel 文件(或 ms-access DB)中提取信息时,我通常使用以下内容:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]
Run Code Online (Sandbox Code Playgroud)

有时它有效。有时不会。

有没有人知道设置这个的指南?

我知道临时文件夹,我知道下载正确的驱动程序,我知道扩展属性,我知道没有打开文件。有时虽然,我仍然得到 -

链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回了消息“未指定的错误”。

我昨天遇到了这个问题。我重新启动了我的机器 - 没有用。然后再次重新启动我的实例和 P00f!神奇地它起作用了。

所以这就是我的问题 - 当遇到令人敬畏的“未指定错误”时,您需要检查什么以确保所有星星都符合要求才能正常工作。

Bre*_*zar 2

检查 Windows 事件查看器。查看应用程序日志、安全日志和系统日志。如果你已经确定了所有明显的东西(听起来你已经确定了),那么它可以是任何东西。例如,该文件的文件夹可能具有 Windows 域安全性,并且您的计算机可能无法针对 DC 进行身份验证。