Связанный сервер Sybase в MS SQL не может соединиться, но соединение ODBC Test успешно - PullRequest
0 голосов
/ 04 декабря 2018

На нашем сервере баз данных мы установили ниже версию Microsoft SQL:

Microsoft SQL Server 2016 (SP2-CU2-GDR) (KB4458621) - 13.0.5201.2 (X64) 18 августа 2018 г.07:38:15 Copyright (c) Microsoft Corporation Enterprise Edition: лицензирование на основе ядра (64-разрядная версия) в Windows Server 2012 R2 Standard 6.3 (сборка 9600:) (гипервизор)

В том жеСервер, мы также установили Драйвер Sybase 16

Используя Adaptive Server Enterprise, мы создали 64-битное соединение ODBC (так как 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 SELECT * FROM SybaseSERVER.TestDB.dbo.SampleTable

Однако, используя ту же настройку в нашей стадии подготовкиСервер базы данных, я обнаружил ошибку:

Поставщик OLD DB «MSDASQL» для связанного сервера «SybaseSERVER» вернул сообщение «[SAP] [Драйвер ASE ODBC] Клиенту не удалось установить соединение».

Но 64-битное соединение ODBC показывает успешное при тестировании соединения.

Я уже проверил настройку, и я уверен, что они оба одинаковы с точки зрения установки MS SQLи Sybase Driver.Переменные среды PATH не сильно различаются при проверке обоих.

Какая возможная причина проблемы на нашем промежуточном сервере?И какое может быть возможное решение?

1 Ответ

0 голосов
/ 05 декабря 2018

Это то, что наш DBA сделал, чтобы это работало

  1. Установите для удаленного доступа значение 1 (config_value и run_value)
  2. Перезапустите службу SQL.

Я не уверен, что точка 1 подключена, но, согласно нашему администратору базы данных, именно это он и сделал.Но пока это наше первое действие на случай, если мы снова столкнемся с проблемой на других серверах.

...