Просто чтобы заложить основу:
- На 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 мы отключили безопасность (Инструменты > Администратор безопасности > Настройки безопасности > Снимите флажок «Включить безопасность приложений»).
Я не уверен, что еще здесь делать. Будем признательны любому совету.