0

我正在开发一个应用程序,我需要将数据从 Excel 导入 MS SQL Server 数据库。我已经 在 MS SQL Server 机器和我的机器上安装了Microsoft Access Database Engine 2010 Redistributable

像这样配置 MS SQL Server:

USE [master]
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OverRide
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE WITH OverRide
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
GO

在我的应用程序中,我正在使用:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=PathToMyExcelDoc', [Devices$])

当应用程序和 SQL Server 在同一台机器上时,它工作正常,但是当我在我的机器上运行应用程序并尝试将数据从 Excel 导入到远程 SQL Server 时,我收到以下错误:

The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error.
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
4

1 回答 1

2

我一直面临同样的问题,我首先将excel保存到服务器然后在OPENROWSET中传递该路径来解决它。

于 2013-04-30T09:25:40.803 回答