Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 обмен данными между MS SQL и Firebird  [new]
51ck
Member

Откуда:
Сообщений: 4
здравствуйте все. ресурс заманчивый =) респект вам господа.
так вот сабж:
имеется задача - внедрить систему табельного учета.
решение запроектированное и мы его внедряем (тут прошу опустить лирику про маразм окружающей нас действительности)
ситуация следующая, имеется две СУБД:
MS SQL 2005 и Firebird-1.5.3.4870-0-Win32 написано (вернее куплено) приложение учета рабочего времени, которое поднимает данные из MS SQLя, но это только часть данных. так вот, если короче, то вопрос примерно будет звучать так:
как правильно организовать передачу данных из нужных полей нужных таблиц базы фаербёрда в нужные поля нужных таблиц мс скуэля?
я не прошу написать мне готовый код, просто подскажите по какому идти направлению, т.е. с чей стороны инициировать обмен, какие средства СУБД задействовать, какие подводные камни меня ждут и прочее... (на свой взгляд) и еще...
прошу строго не судить, первый раз имею дело с СУБД. мой профиль - автоматизация тп.
подскажите плиз начало, дальше буду по существу спрашивать...

если тема уже поднималась то извините за потраченное на чтение время (у меня это 30 секунд)
поиск юзал, фак читал. надеюсь внимательно...
26 июл 07, 12:24    [4438617]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33366
Блог
Можно использовать linked server/dts
26 июл 07, 12:34    [4438690]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
RomanH
Member

Откуда:
Сообщений: 539
Если будете использовать Linked Server к FB, то при поиске OLE DB provider for FireBird, обратите внимание, чтобы он мог, вернее полноценно выполнял Insert/Udate/Delete в таблицах FB.
А то я как то скачал IBProvider_v3_free. Провайдер он конечно провайдер, но в качестве провайдера для линкид сервера он не подходит :).
26 июл 07, 17:07    [4441272]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Shurik55
Member

Откуда:
Сообщений: 897
51ck
здравствуйте все. ресурс заманчивый =) респект вам господа.
так вот сабж:
имеется задача - внедрить систему табельного учета.
решение запроектированное и мы его внедряем (тут прошу опустить лирику про маразм окружающей нас действительности)
ситуация следующая, имеется две СУБД:
MS SQL 2005 и Firebird-1.5.3.4870-0-Win32 написано (вернее куплено) приложение учета рабочего времени, которое поднимает данные из MS SQLя, но это только часть данных. так вот, если короче, то вопрос примерно будет звучать так:
как правильно организовать передачу данных из нужных полей нужных таблиц базы фаербёрда в нужные поля нужных таблиц мс скуэля?
я не прошу написать мне готовый код, просто подскажите по какому идти направлению, т.е. с чей стороны инициировать обмен, какие средства СУБД задействовать, какие подводные камни меня ждут и прочее... (на свой взгляд) и еще...
прошу строго не судить, первый раз имею дело с СУБД. мой профиль - автоматизация тп.
подскажите плиз начало, дальше буду по существу спрашивать...

если тема уже поднималась то извините за потраченное на чтение время (у меня это 30 секунд)
поиск юзал, фак читал. надеюсь внимательно...

У нас аналогичные задачи.
1. Если базы не разнесены удаленно, то можно линкед сервер. А если Вам еще в одну сторону передавать, а именно из ФБ->MS, то я юзаю тынц.
2. Если разнесены физически, то юзаем свою репликацию, где обмен ввиде ADORecordSet-ов. В таком случае возможен и двусторонний обмен.
26 июл 07, 19:00    [4442065]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
51ck
Member

Откуда:
Сообщений: 4
RomanH
Если будете использовать Linked Server к FB, то при поиске OLE DB provider for FireBird, обратите внимание, чтобы он мог, вернее полноценно выполнял Insert/Udate/Delete в таблицах FB.
А то я как то скачал IBProvider_v3_free. Провайдер он конечно провайдер, но в качестве провайдера для линкид сервера он не подходит :).


вот я именно его и скачал когда Критик посоветовал использовать linked server, далее, используя вот эту статью
попыталсо его настроить, но базу он не приконектил. вот что сказал:
OLE DR error trace [OLE/DB Provider 'LCPI.IBProvider.3.Free' IDBInitialize::initialize returned 0x80004005:]


Shurik55

У нас аналогичные задачи.
1. Если базы не разнесены удаленно, то можно линкед сервер. А если Вам еще в одну сторону передавать, а именно из ФБ->MS, то я юзаю тынц.
2. Если разнесены физически, то юзаем свою репликацию, где обмен ввиде ADORecordSet-ов. В таком случае возможен и двусторонний обмен.


это радует что задачи аналогичные, контакт бы ваш =) (чтобы тут не флудить и людей не отвлекать)
1. базы будут разнесены удаленно. (в пределах сети предприятия), передача в "другую" сторону не требуется.
не знаю что делать с тынцом
2. ну второй пункт для меня не информативен =))) не понял c какой стороны подойти даже...
30 июл 07, 11:13    [4451552]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Shurik55
Member

Откуда:
Сообщений: 897
проверь почту
30 июл 07, 13:04    [4452546]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
RomanH
Member

Откуда:
Сообщений: 539
-> 51ck
IBProvider_v3_free я же говорил что этот провайдер не подходит для Linked server.

->Shurik55
А может и мне подскаэите как создали linked server c FireBirdODBC/romanHB@mail.ru/
30 июл 07, 16:54    [4454648]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
51ck
Member

Откуда:
Сообщений: 4
RomanH
-> 51ck
IBProvider_v3_free я же говорил что этот провайдер не подходит для Linked server.


я уже это тоже понял =)
инфу по этой теме на IBProvider Support forum уже почитал, только толку мало.
они рекомендуют триал про версии, но и с ним не получается

по поводу и вам тоже помочь, вообщем идея в чем:
ставите этот ODBC драйвер. далее настраиваете системный DSN (в панели инструментов\администрирование\источники данных ODBC)
выбираете драйвер, для задания источника (firebird\interbase(r) driver)
указываете имя источника данных (его потом указываете в data source когда будетет настраивать ole db for odbc в linked server), указываете базу данных, пользователя, пароль. (я остальное все по умолчанию указал) проверяете соединение. у меня говорит что проверка прошла успешно.
далее идете в настройку linked sserver'a в ms sql'e, в provider name указываетет Microsoft OLE DB Provider for ODBC driver, в Data Source указываете имя того системного DSN что настроили. остальные поля пустыми оставляете..

...... эээ мммм ну ошибка уже другая....


вот что за ошибка у меня (хотя когда создаю системный DSN он говорит что источник данных проверен успешно):

Error 7399: OLE DB provider 'MSDASQL' reported an error. Authennticated failed.
unavailable database]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IDBInitialize::initialize returned 0x800040e4d: authenticated failed]

вот.....
30 июл 07, 17:23    [4454882]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
GuestInCity
Member

Откуда:
Сообщений: 53
51ck
Если будете использовать Linked Server к FB, то при поиске OLE DB provider for FireBird, обратите внимание, чтобы он мог, вернее полноценно выполнял Insert/Udate/Delete в таблицах FB.
А то я как то скачал IBProvider_v3_free. Провайдер он конечно провайдер, но в качестве провайдера для линкид сервера он не подходит :).

Там везде v.2 юзается, а не v.3
Более того, я линковал сервера ibprovider-ом на прежней работе
30 июл 07, 22:55    [4455970]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Я линкую через ODBC драйвер. Как на приложенном рисунке...
К счастью с Firebird-овской базой мне нужно выпольнять лишь примитивные операции (импорт/экспорт). А нормальные OLEDB-шные драйвера под Firebird все платные - найти мне их в мало-мальски свободном доступе не удалось...

К сообщению приложен файл. Размер - 0Kb
31 июл 07, 08:34    [4456350]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Дмитрий В. Бехилев
Member

Откуда:
Сообщений: 50
AndrF
Я линкую через ODBC драйвер...


Я тоже - никаких проблем не было пока.
10 сен 07, 22:18    [4646134]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28820
unavailable database - это не работает локальный коннект
www.ibase.ru/ibfaq.htm#unavail
10 сен 07, 22:37    [4646160]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: обмен данными между MS SQL и Firebird  [new]
artemds
Member

Откуда:
Сообщений: 46
Я тоже в итоге заколебался искать ломанный IBProvider... сделал через ODBC... но работает ужасно медленно... простецкий SELECT выполняется 30-30 секунд...
путь к БД писал как SERVER:D:\\\\\data.gdb
16 окт 08, 11:22    [6313764]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Paul Smith
Member

Откуда:
Сообщений: 13
Дмитрий В. Бехилев
AndrF
Я линкую через ODBC драйвер...

Я тоже - никаких проблем не было пока.


А у меня что-то не получается.

EXEC master.dbo.sp_addlinkedserver @server = N'TEST', @srvproduct=N'FireBird', @provider=N'SQLNCLI', @datasrc=N'MSDASQL', @provstr=N'Driver=Firebird/InterBase(r) driver;UID=***;Password=***;Dbname=11.12.1.0:C:\BD\firebird.fdb'

select * from OpenQuery(test, N'select * from bd...person')

Выдает:

Поставщик OLE DB "SQLNCLI" для связанного сервера "test" вернул сообщение "Время ожидания входа в систему истекло".
Поставщик OLE DB "SQLNCLI" для связанного сервера "test" вернул сообщение "При подключении к серверу возникла ошибка. При подключении к серверу SQL Server 2005 данная ошибка может возникать из-за того, что параметры по умолчанию сервера SQL Server не разрешают устанавливать удаленные соединения.".
Сообщение 53, уровень 16, состояние 1, строка 0
Поставщик именованных каналов: Не удалось открыть соединение с SQL Server [53].
Поставщик OLE DB "SQLNCLI" для связанного сервера "test" вернул сообщение "Недопустимый атрибут строки подключения".

Пробовал базу класть локально на MSSQL сервак – то же самое (только писал Dbname=localhost:D:\firebird.fdb').

Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 6.0 (Build 6001: Service Pack 1)

Firebird-овский файл: ODC Version 10.1

Пробовал ODBC ставить локально, сделать пользовательский DSN. При проверке соединения пишет "Открыть базу данных ..... не удалось". В то же время Flamerobin замечательно её открывает.
ODBC какой-то такой: "Firebird_ODBC_2.0.0-Win32.exe", производитель: IBPhoenix.

Попробовать другой ODBC (на Gemini запрос отправил, жду)?
Попробовать IBProvider_free_32_3.0.0.6941.exe поставить?
Или в настройках подключения что-то не то пишу?
2 июн 09, 17:55    [7257571]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
@provider=N'SQLNCLI'


Гм... Почему Вы используете клиента SQL Server для коннекта к огнептице?! Смотрите в справке по sp_addlinkedserver какие параметры и как надо заполнять для ODBC источников. И, пример, D, посмотрите.
2 июн 09, 17:59    [7257594]     Ответить | Цитировать Сообщить модератору
 Re: обмен данными между MS SQL и Firebird  [new]
Paul Smith
Member

Откуда:
Сообщений: 13
pkarklin
автор
@provider=N'SQLNCLI'

Гм... Почему Вы используете клиента SQL Server для коннекта к огнептице?! Смотрите в справке по sp_addlinkedserver какие параметры и как надо заполнять для ODBC источников. И, пример, D, посмотрите.


Это я от безысходности уже.

В общем, так и не удалось прицепиться стандартным провайдером, пришлось просить админов поставить внешний odbc и цепляться через пользовательский DSN.
3 июн 09, 13:05    [7260272]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить