Ошибка Timberline ODBC на связанном сервере SQL Server: невозможно инициализировать объект источника данных

Просто чтобы заложить основу работы:

  • На 64-битном сервере Windows у нас установлена ​​64-битная версия SQL Server 2008 R2
  • Мы установили 32-разрядную версию SQL Server Express на той же машине
  • Используя 32-битную версию Express, мы успешно создали связанный сервер с хранилищем данных Timberline следующим образом:

    EXEC sp_addlinkedserver
         @server = 'TimberlineTest',
         @provider = 'MSDASQL',
         @srvproduct='Timberline Data',
         @datasrc = 'TimberlineDSN'
    

Затем он возвращает все таблицы:

exec sp_tables_ex 'TimberlineTest'

Мы также создали пользователя следующим образом:

EXEC sp_addlinkedsrvlogin
 @rmtsrvname = 'TimberlineTest',
 @useself = 'False',
 @rmtuser = 'sa',
 @rmtpassword = 'xxxxxx'
GO

Кроме того, в окне запроса SSMS это прекрасно работает при работе с Master db:

select * from timberlinetest.[c:\Training\Extended]..Master_PRM_Employee

Все работает отлично, пока мы выполняем запросы из SSMS. Однако, когда мы запускаем какой-либо сторонний инструмент, который может попытаться получить доступ к этому связанному серверу, у нас возникают проблемы. У нас есть небольшой инструмент тестирования запросов, который позволяет вам вводить строку подключения и выполнять запросы. Мы используем эту строку подключения, чтобы сначала добраться до Master db:

Provider=SQLOLEDB; Data Source=localhost\SQLEXPRESS32BIT; Libraries=Master; User ID=sa; Password=xxxxxx

Это соединение работает, и мы можем пропинговать сервер и запрашивать основную базу данных. Но когда мы пробуем тот же самый запрос Timberline (выберите * из timberlinetest....), мы сталкиваемся с этой ошибкой:

Не удалось инициализировать объект источника данных поставщика OLE DB "MSDASQL" для связанного сервера "timberline test". Поставщик OLE DB "MSDASQL" для связанного сервера "тест на линейную линию" возвратил сообщение "[Sage Timberline Office][Sage Timberline Office ODBCDriver][Библиотека файлов DRM] Неверное имя учетной записи."

Несколько вещей, чтобы отметить... для целей тестирования:

  • По каталогу c:\Training\Extended мы широко открыли охрану, установив Everyone для полного разрешения на чтение и запись
  • В самой Timberline мы отключили защиту (Инструменты> Администратор безопасности> Настройки безопасности> Снимите флажок "Включить защиту приложений")

Я не уверен, что еще здесь делать. Будем признательны любому совету.

1 ответ

(Ответ на вопрос изменен. Преобразован в вики-ответ сообщества. См. Вопрос без ответов, но проблема решена в комментариях (или расширена в чате))

ОП написал:

Задача решена.

Я изменил строку подключения на:

Provider=SQLOLEDB; Data Source=.\sqlexpress32bit; Libraries=master; Trusted_Connection=Yes

И это сработало!!

Другие вопросы по тегам