OPENDATASOURCE而不是链接服务器 [英] OPENDATASOURCE instead of Linked Server

查看:138
本文介绍了OPENDATASOURCE而不是链接服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到一种情况,即与Access DB链接的服务器使我的SQL服务器崩溃.

I have a situation where a linked server to an access DB is crashing my SQL server.

此处崩溃表示添加链接服务器会导致使用该提供程序的所有其他链接服务器停止工作.对这些链接服务器的任何查询都将挂起并且无法完成.这种情况一直持续到服务器重新启动.

Crashed here means adding the linked server causes all other linked servers using that provider to stop working. Any queries to those linked servers hang and don't complete. This situation persists until the server is restarted.

但是,当我使用OPENDATASOURCE连接到相同的数据源时,我没有这个问题.

However, when I use OPENDATASOURCE to connect to the same data source I don't have this problem.

为什么一个工作而另一个崩溃?

Why would one work and the other crash?

我正在使用的提供程序是Microsoft.ACE.OLEDB.12.0.我启用了动态参数并启用了允许进程中.下面的查询示例

The provider I'm using is Microsoft.ACE.OLEDB.12.0. I have Dynamic parameter and Allow inprocess enabled. Example query below

select 
*
from OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 
    'Data Source=\\networkPath\Reporting.accdb')...MyAccessTable

推荐答案

SQL Server崩溃可能是因为OLEDB对象填充了SQLSERV.EXE调用堆栈或数据访问库配置不正确.

SQL Server is crashing probably because the SQLSERV.EXE Call stack got filled by OLEDB object or because the data access library configuration is not correct.

尝试一下:

  1. 确保在提供者上激活了允许进程中"选项
  2. 使用-g 512启动参数以更大的调用堆栈启动SQLSERV.EXE

这篇关于OPENDATASOURCE而不是链接服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆