【发布时间】:2012-08-18 21:43:58
【问题描述】:
我正在尝试将此 excel 工作表放入表格中,因此我可以对其应用 select 语句等,以使用其信息更新表格。
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\PB.xlsx',
'SELECT * FROM [Sheet1$]')
我正在运行 64 位机器。 不知道是什么excel版本。
错误:
消息 7399,第 16 级,状态 1,第 1 行 链接服务器“(null)”的 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”报告错误。提供商没有提供有关该错误的任何信息。 消息 7303,第 16 层,状态 1,第 1 行 无法为链接服务器“(null)”初始化 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象。
当我更改为 Excel 12.0 时;
链接服务器“(null)”的 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”返回消息“找不到可安装的 ISAM。”。 消息 7303,第 16 层,状态 1,第 1 行 无法为链接服务器“(null)”初始化 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”的数据源对象。
【问题讨论】:
-
当我收到这些错误时,我们的 DBA 告诉我这是因为该驱动程序需要安装在服务器上。它安装在您的设备上吗?
-
@bluefeet 这是我目前的笔记本电脑,我没有安装任何额外的东西,所以如果它不在 2008 R2 中。然后不行。
-
前段时间,由于 32/64 位 ODBC 驱动程序不兼容,我遇到了 7399 错误。我试图将数据从 Excel 工作表读取到 SQL Server 2008 R2 64 位。 Microsoft-Jet.OleDB 驱动程序是 32 位的。不幸的是我无法解决这个问题,我不得不安装一个 32 位服务器来读取 excel 文件。
-
我不小心运行了错误的服务器,所以它是 32 位的,它根本无法在我的笔记本电脑上运行。存在同样的问题。我已经改用 CSV 文件格式,似乎可以正常工作。谢谢大家。
标签: sql sql-server sql-server-2008 excel