Ошибка 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 это прекрасно работает при запуске с главной базой данных:

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

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

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

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

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

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

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

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


person Casey Crookston    schedule 10.06.2013    source источник


Ответы (1)


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

ОП написал:

Проблема решена.

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

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

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

person Community    schedule 31.01.2015