简体   繁体   English

普遍存在链接服务器的OLE DB提供程序“ MSDASQL”报告了一个错误。 提供者报告了意外的灾难性故障。

[英]Pervasive The OLE DB provider “MSDASQL” for linked server reported an error. The provider reported an unexpected catastrophic failure.

MSSQL 2016 link to a Pervasive server. MSSQL 2016链接到普及服务器。 It can see the DBs on the Pervasive database, and tables but when you do a select 它可以查看Pervasive数据库和表上的数据库,但是当您选择

SELECT *
        FROM 
        OPENQUERY(LinkedServer, 'SELECT * FROM DB.Table')

I get Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "LinkedServer" reported an error. 我收到消息7399,级别16,状态1,第1行链接服务器“ LinkedServer”的OLE DB访问接口“ MSDASQL”报告了一个错误。 The provider reported an unexpected catastrophic failure. 提供者报告了意外的灾难性故障。 Msg 7330, Level 16, State 2, Line 1 Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "LinkedServer". 消息7330,级别16,状态2,第1行无法从OLE DB提供程序“ MSDASQL”获取链接服务器“ LinkedServer”的行。 I checked MSDASQLprovider allows in line process, and port. 我检查了MSDASQLprovider允许的进程和端口。 Still nothing Thoughts folks. 还是一无所有。 ?? ??

Had this issue when upgrading SQL Server from SQL2014 to SQL2016 or later. 将SQL Server从SQL2014升级到SQL2016或更高版本时出现此问题。 Also if you install it on a new machine. 另外,如果您将其安装在新计算机上。 The root cause is that the Microsoft OLE DB Provider for ODBC Drivers has changed. 根本原因是用于ODBC驱动程序的Microsoft OLE DB提供程序已更改。 It now has more ISO and other ODBC features supported. 现在,它支持更多的ISO和其他ODBC功能。 This is a breaking change for some ODBC connections. 对于某些ODBC连接,这是一个重大更改。

This driver ( MSDASQL ) is used to wrap an ODBC connection on the server, in this case, to the pervasive database and allow it to act as a linked server. 该驱动程序( MSDASQL )用于将服务器上的ODBC连接(在这种情况下)包装到普及型数据库,并使其充当链接服务器。 The wrapper allows both OPEN Query functionality as well as standard linked query calls. 包装程序同时允许OPEN查询功能和标准链接查询调用。

The issue with the change is that the new wrapper is sending extra data that is not being handled if you are using ODBC driver versions 11 or below for query activity. 更改的问题在于,如果您使用11或以下版本的 ODBC驱动程序进行查询活动,则新包装将发送未处理的额外数据。 It can not handle the additional information and will return an error on execution. 它无法处理其他信息,并且将在执行时返回错误。 It will be able to connect, however. 但是它将能够连接。 I could see all of the tables but couldn't query them. 我可以看到所有表,但无法查询它们。

Version 12 of the pervasive ODBC driver will work for query only, but Open Query will not work. 普及型ODBC驱动程序的版本12仅适用于查询,但是Open Query不起作用。 You will continue to get "unexpected catastrophic failure" on open query updates. 您将在打开查询更新时继续遇到“意外的灾难性故障”。

I recommend you upgrade to version 13.3. 我建议您升级到版本13.3。 This release from Actian will support both selects and updates and will solve the Open Query error. Actian的此版本将支持选择和更新,并将解决“打开查询”错误。 I do not know if you will need support from Actian for the licensing of the driver. 我不知道您是否需要Actian的驱动程序许可支持。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM