2016-12-15 3 views
0

У нас есть POS-система с базой данных Firebird, а остальная часть бизнеса находится на SYSPRO, которая основана на SQL Server.Firebird FDB Linked Server SSMS

Я хотел бы запускать запросы и представления между базами данных, поскольку обе базы данных имеют уникальные ключи, которые можно сопоставить.

Я делаю это через связанный сервер? Я попробовал несколько вариантов связанного сервера, и я продолжаю получать различные сообщения об ошибках. Так что это то, что я до сих пор:

EXEC master.dbo.sp_addlinkedserver 
@server = N'OMNI', 
@srvproduct=N'OMNI', 
@provider=N'MSDASQL', 
@datasrc=N'C:\Omni\Company\Data\databasefile.FDB', 
@provstr=N'Driver={Firebird/InterBase(r) driver};Dbname=C:\Omni\Company\Data\databasefile.FDB;CHARSET=NONE;UID=SYSDBA;' 

Я также попытался подключения с помощью Excel, и я могу увидеть базу данных и просматривать таблицы, используя следующую строку соединения:

Provider=MSDASQL.1;Persist Security Info=True;Data Source=Omni;Extended Properties="DSN=Omni;Driver={Firebird/InterBase(r) driver};Dbname=C:\Omni\Company\Data\databasefile.FDB;CHARSET=NONE;UID=SYSDBA;";Initial Catalog=Omni 
+0

Linked серверы могут быть ненадежными. Распределенные запросы (через связанные серверы) обычно выполняются довольно плохо. Это полностью действительный подход к репликации данных Firebird в базу данных SQL Server и просто выполнение кросс-запросов к базе данных. Тогда вы можете обнаружить, что хотите занять это место и создать хранилище данных. –

+0

Эй, Ник. Спасибо за ответ. Итак, какой был бы лучший подход к тиражированию баз данных? Создать временную задачу SQL Sever Agent для проверки новых данных? Мой опыт во всем этом заключается в том, что я могу создавать запросы, но реплицировать, триггеры и те вещи, которые мне все еще нужно изучать. ;-) –

+0

Какие ошибки вы получаете? –

ответ

0

Ok вот ответ (у меня есть короткий участок волос, оставшийся после этого ;-))

Я не могу ответить на технические вопросы о том, почему это работает, но оно работает.

Во-первых, вам нужно установить

Firebird 2.5

Тогда 32 разрядный драйвер

32 Bit

Затем на 64 Bit Driver

64 Bit

Затем вы перейдете к вам в командной строке (администратор). Goto, где вы установили Firebird 2.5. В моем случае это был

C:\Program Files (x86)\Firebird\Firebird_2_5\bin\ 

Затем введите:

fbguard.exe - a 

Это позволит получить версию Firebird сервера происходит.

Тогда это простая настройка ODBC-ссылки.

Если вы пытаетесь связать локальный экземпляр базы данных, не забудьте поставить

localhost:\Company\Data\Companydata.fdb 
Смежные вопросы