【发布时间】:2018-07-31 18:13:07
【问题描述】:
MSSQL 2016 链接到 Pervasive 服务器。 它可以看到 Pervasive 数据库和表上的 DB,但是当您进行选择时
SELECT *
FROM
OPENQUERY(LinkedServer, 'SELECT * FROM DB.Table')
我明白了 消息 7399,第 16 层,状态 1,第 1 行 链接服务器“LinkedServer”的 OLE DB 提供程序“MSDASQL”报告错误。提供商报告了意外的灾难性故障。 消息 7330,第 16 层,状态 2,第 1 行 无法从链接服务器“LinkedServer”的 OLE DB 提供程序“MSDASQL”获取行。 我检查了 MSDASQLprovider 允许在线进程和端口。 依然没有 想的人。 ??
【问题讨论】:
-
您使用的是哪个版本的 Pervasive?您是否为 Pervasive 使用 64 位 ODBC 驱动程序? MSSQL 2016 只有 64 位。 Pervasive 有多个版本,包括一些只有 32 位的版本。
-
我试过 64 位客户端和 32 位客户端。该链接可以看到目录、数据库和表格。所以它正在连接到服务器。问题是当您发出 SELECT 时,您会收到该错误。我尝试了 MSDASQL Provider 的各种设置。允许前导零和允许在进程被选中。
-
所有 SELECT 语句都失败了吗?你能从 Pervasive Control Center 或其他 ODBC 工具发出 SELECT 吗?
-
另外,当我右键单击并选择 Script table as SELECT 我得到。 “不包含可以选择的列,或者当前用户没有对该对象的权限。”
-
是的,控制中心工作正常。刚刚将链接添加到我的本地 SQL Server 是 SQL Server 2008 R2 并且一切正常所以,......它似乎是 2016 年的问题