【问题标题】:is it possible to use a provider from a different server?是否可以使用来自不同服务器的提供程序?
【发布时间】:2013-02-07 22:47:34
【问题描述】:

我可能已经弄清楚为什么我无法在 sql server 2012 上使用 ODBC/OLEDB 将链接服务器建立到普遍的 sql 中。

我有另一个 sql server 2005,它能够连接到 pervasive sql,因为它有一个名为 PervasiveOLEDB.11.0 的提供程序。

我想使用同一个提供程序,我想知道是否可以让我的 sql server 2012 使用这个提供程序(驻留在不同的服务器上)?\

如果没有,我是否可以通过其他方式导出/导入此提供程序?

我正在尝试以这种方式建立连接,但无法与提供者建立连接:

EXEC sp_addlinkedserver 
   @server = 'kslap208', 
   @provider = 'MSDASQL', 
   @datasrc = 'C003',
   @srvproduct = 'Pervasive'
GO

更新: 虽然我能够成功连接,但当我尝试从表中选择时出现此错误:

OLE DB provider "MSDASQL" for linked server "kslap208" returned message "Unspecified error".
OLE DB provider "MSDASQL" for linked server "kslap208" returned message "[Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface][Data Record Manager]Cannot locate the named database you specified(Btrieve Error 2301)".
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES" for OLE DB provider "MSDASQL" for linked server "kslap208". The provider supports the interface, but returns a failure code when it is used.

【问题讨论】:

    标签: sql sql-server tsql sql-server-2005 sql-server-2012


    【解决方案1】:

    我认为您需要从here 下载 Pervasive SQL 11 客户端。这应该安装所有驱动程序

    【讨论】:

    • 你觉得我安装完成后需要重启服务器吗?因为我在 ssms 中没有看到我需要的新提供者
    • 测试 ole db 提供程序是否已注册。在系统上的任何位置创建一个带有扩展名 udl 的空文件,例如c:\test.udl。打开它。它将允许您查看系统中安装的所有 OLE DB 提供程序。如果提供程序不存在,请检查系统中是否有任何 Pervasive ODBC 驱动程序。你通过 ODBC 连接到您的服务器
    • 非常感谢。我在那里看不到OLEDB。如何检查驱动程序是否在系统中?
    • 这是我在尝试测试连接时遇到的错误stackoverflow.com/questions/14744012/…
    • 根据上面你是通过 ODBC 连接的
    猜你喜欢
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 2010-09-18
    • 1970-01-01
    • 2018-10-20
    相关资源
    最近更新 更多