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

Откуда: Россия, Москва
Сообщений: 1556
Добрый день!

Мне нужно из MSSQL 2005 добраться до данных на Firebeird. Получилось подключиться к нему через LinkedServer, запрос выполняется, но не получается получить данные параметризованного запроса для обработки в пакете .

Например делаю так
declare @Channel varchar(100), @TimeFrom datetime, @TimeTo datetime
select @Channel = '112', @TimeFrom = '20111124 18:15:31', @TimeTo = '20111124 18:15:36'

declare @id int
SELECT @id = ID FROM RanderDB...CALLLOG where WE = @Channel AND CALL_BEGIN >= @TimeFrom AND CALL_BEGIN <= @TimeTo
select @id
Все работает, но долго, так как в таком виде запрос вытягивает все данные и уже локально их обрабатывает.

Пробовал так:
declare @Channel varchar(100), @TimeFrom datetime, @TimeTo datetime
select @Channel = '112', @TimeFrom = '20111124 18:15:31', @TimeTo = '20111124 18:15:36'

declare @t table(id int)
insert into @t (id)
    exec ('SELECT ID FROM CALLLOG where WE = ? AND CALL_BEGIN >= ? AND CALL_BEGIN <= ?', @Channel, @TimeFrom, @TimeTo) at RanderDB
select * from @t
Работает, но один раз, потом выдает ошибку
OLE DB provider "MSDASQL" for linked server "RanderDB" returned message "Cannot start more transactions on this session.".
Msg 7391, Level 16, State 2, Line 12
The operation could not be performed because OLE DB provider "MSDASQL" for linked server "RanderDB" was unable to begin a distributed transaction.
Прошу помощи у зала, как правильнее сделать?
PS Получить нужно больше полей, ID просто для теста.
Спасибо!

С уважением, Князев Константин
25 ноя 11, 01:17    [11655732]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных из Firebird 2.1 через ODBC драйвер  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Zelius,


http://www.interface.ru/home.asp?artId=21909

Как настраивали, какой драйвер использовали, откуда скачивали?

Один из примеров настройки
http://www.ibprovider.com/forum/site/viewtopic.php?t=19
25 ноя 11, 10:21    [11656546]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных из Firebird 2.1 через ODBC драйвер  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1556
trew,

я подключаюсь через LinkedServer ODBC драйвер, пока не понял, куда там прописывать параметры.
Указанные ссылки не применимы, так как они указывают на платный провайдер, хотя может там есть бесплатная версия? Пока не нашел такой.
25 ноя 11, 11:39    [11657203]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных из Firebird 2.1 через ODBC драйвер  [new]
Vicont_rtf
Member

Откуда:
Сообщений: 64
Попробуй так -

select @id = ID from OPENQUERY('RanderDB','SELECT ID FROM CALLLOG where WE = 112 AND CALL_BEGIN >= '20111124 18:15:31' AND CALL_BEGIN <= '20111124 18:15:36''
25 ноя 11, 16:34    [11660476]     Ответить | Цитировать Сообщить модератору
 Re: Выборка данных из Firebird 2.1 через ODBC драйвер  [new]
Vicont_rtf
Member

Откуда:
Сообщений: 64
Попробуй так -

select @id = ID from OPENQUERY('RanderDB','SELECT ID FROM CALLLOG where WE = 112 AND CALL_BEGIN >= '20111124 18:15:31' AND CALL_BEGIN <= '20111124 18:15:36''
25 ноя 11, 16:44    [11660583]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить