MS SQL中的Sybase链接服务器无法连接,但ODBC测试连接成功

时间:2018-12-04 08:22:58

标签: sql-server database odbc sybase linked-server

在我们的数据库服务器中,我们安装了以下版本的Microsoft SQL:

  

Microsoft SQL Server 2016(SP2-CU2-GDR)(KB4458621)-13.0.5201.2   (X64)2018年8月18日版权所有(c)Microsoft Corporation     企业版:Windows Server上的基于内核的许可(64位)   2012 R2 Standard 6.3(Build 9600:)(系统管理程序)

在同一服务器上,我们还安装了 Sybase 16 Driver

使用Adaptive Server Enterprise,我们创建了ODBC 64位连接(由于MS SQL是64位),并且在测试了连接之后,提示显示连接和凭据都很好。

然后我使用以下脚本在MS SQL中创建了链接服务器

不是凭据的真实值

DECLARE @ls_servername varchar(128) = N'SybaseSERVER'
DECLARE @ls_serverproduct varchar(128) = N'sybase'
DECLARE @ls_provider varchar(128) = N'MSDASQL'
DECLARE @ls_datasource varchar(128) = N'SybaseSERVER'
DECLARE @ls_catalog varchar(128) = N'TestDB'
DECLARE @ls_providerstr varchar(max) = NULL
DECLARE @ls_username varchar(128) = N'*TestUser*'
DECLARE @ls_password varchar(128) = N'*TestPass*'


--Add linked server
EXEC sp_addlinkedserver 
    @server=@ls_servername
    ,@srvproduct=@ls_serverproduct
    ,@provider=@ls_provider
    ,@datasrc=@ls_datasource
    ,@catalog=@ls_catalog
    ,@provstr=@ls_providerstr

--Add credentials
EXEC sp_addlinkedsrvlogin 
    @rmtsrvname=@ls_servername
    ,@useself=N'False'
    ,@rmtuser=@ls_username
    ,@rmtpassword=@ls_password
GO

使用上面的设置,我能够在DEV数据库服务器中成功查询 选择*从SybaseSERVER.TestDB.dbo.SampleTable

但是,在Staging Database Server中使用相同的设置时,我遇到了错误:

  

链接服务器“ SybaseSERVER”的旧数据库提供程序“ MSDASQL”返回消息“ [SAP] [ASE ODBC驱动程序]客户端无法建立连接”。

但是在测试连接时ODBC 64位连接显示成功。

我已经检查了设置,并且我确定它们在MS SQL和Sybase驱动程序安装方面都是相同的。两者都检查时,PATH环境变量相差不大。

登台服务器中出现此问题的可能原因是什么?可能的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

这是我们的DBA所做的,以使其正常工作

  1. 将远程访问设置为1(config_value和run_value)
  2. 重新启动SQL服务。

我不确定点1是否已连接,但是根据我们的DBA,这就是他所做的。 但是目前,这是我们的第一件事,以防我们在其他服务器上再次遇到此问题。