Sql server 从SQL Server连接到MS Access数据库时出现的问题
环境:Windows Server 2016、SQL Server 2016;MS AccessSql server 从SQL Server连接到MS Access数据库时出现的问题,sql-server,ms-access,Sql Server,Ms Access,环境:Windows Server 2016、SQL Server 2016;MS Access.accdb文件(各种版本) 试图通过oledb建立一个链接到.accdb文件内容的服务器,如下所示: EXEC master.dbo.sp_addlinkedserver @server = N'redacted', @srvproduct = N'', @provider = N'Microsoft.ACE.OLEDB.16
.accdb
文件(各种版本)
试图通过oledb建立一个链接到.accdb
文件内容的服务器,如下所示:
EXEC master.dbo.sp_addlinkedserver
@server = N'redacted',
@srvproduct = N'',
@provider = N'Microsoft.ACE.OLEDB.16.0',
@datasrc = N'D:\AccessTest\redacted.accdb',
@provstr = N'Jet OLEDB:Database Password=redacted;'
这会导致一个错误:
链接服务器“编辑”的OLE DB提供程序“Microsoft.ACE.OLEDB.16.0”报告了一个错误。提供程序报告了意外的灾难性故障。(Microsoft SQL Server,错误:7399)
尝试的修复程序:
- 不同的提供程序字符串,如'Uid=;普华永道
- 检查是否安装了AccessDB引擎(64位)
- 已将数据库移动到本地驱动器(从网络)
- OLE提供程序将“允许Inprocess”设置为true
有什么想法吗?只是一个想法,试试:
@srvproduct='Access',@provider='Microsoft.Jet.OLEDB.4.0',
我不相信有Microsoft.ACE.OLEDB.16.0
但是Microsoft.ACE.OLEDB.12.0
@Parfait这些对应于MS Access的版本。它们被宣传为向后兼容。我已经试过版本12。您可以在这里获取版本16:@sniperd我没有看到列出该提供商,但我会看看是否可以将其挖掘出来,并让您知道它是如何运行的。我怀疑这个问题与SQL server帐户权限有关。@AlexanderToptygin。。。我在MS Access工作了很长时间。2016年与旧版EB.16.0不同。请查看您的链接的安装说明,其中提到要用于OLEDB的Microsoft.ACE.OLEDB.12.0。这将处理Access.accdb文件(2007-2016)。另一个Jet.OLEDB.4.0
用于较旧的.mdb文件(