Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
Задача:
Необходимо иметь возможность выбирать данные из бд firebird в sql server x64!

т.к. открытых и доступны драйверов oledb к сожалению совсем нет-использую драйвер odbc
т.к. sql server релиз=x64 использую единственный доступный х64-odbc драйвер т.е. firebird http://www.firebirdsql.org/index.php?op=files&id=engine_250

подключение настраиваю к firebird-базе через системный dsn (в источниках данных)

в sql server выполняю запрос для подключения через dns

EXEC master.dbo.sp_addlinkedserver @server = N'RCNET', @srvproduct=N'IB', @provider=N'MSDASQL', @datasrc=N'rcnet'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'RCNET',@useself=N'False',@locallogin=NULL,@rmtuser=N'test',@rmtpassword='########'



попытка получить список таблиц успешна-вижу имена всех таблиц в firebird-базе

(сообщение [RCNET]...[R_STATUS] не содержит столбцов, которые можно выбрать, либо текущий пользователь не имеет разрешений на этот объект)

попытка выбрать данные:
select * from [RCNET]...[R_STATUS]
также неуспешна
(сообщение Сообщение 7313, уровень 16, состояние 1, строка 1
An invalid schema or catalog was specified for the provider "MSDASQL" for linked server "RCNET".)


помогите как разобратся! как получить возможность "вытягивать" данные из firebird!
20 янв 11, 12:21    [10102831]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
DSN а не DNS!
20 янв 11, 12:22    [10102842]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
Успешна попытка получить названия таблиц но название полей получить невозможно
20 янв 11, 12:24    [10102854]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
select * from OPENQUERY([RCNET], 'SELECT * FROM R_STATUS') as a
20 янв 11, 12:24    [10102856]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
aux3
Успешна попытка получить названия таблиц но название полей получить невозможно

ну так может "либо текущий пользователь не имеет разрешений на этот объект" ?
20 янв 11, 12:25    [10102862]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
select * from OPENQUERY([RCNET], 'SELECT * FROM R_STATUS') as a - так работает!


а как сделать чтобы работало через
SELECT * FROM [RCNET]...[R_STATUS]
20 янв 11, 13:57    [10103614]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
aux3

а как сделать чтобы работало через
SELECT * FROM [RCNET]...[R_STATUS]


An invalid schema or catalog was specified for the provider "MSDASQL" for linked server "RCNET".)
20 янв 11, 13:59    [10103631]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
А как дожно быть? ))
20 янв 11, 14:25    [10103852]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
aux3
А как дожно быть? ))

Должны быть схема и каталог указаны. Как же еще ?
20 янв 11, 14:31    [10103888]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
неработет.

select * from [RCNET].[RCNET].[SADMIN].[R_STATUS]
select * from [RCNET].[SADMIN].[R_STATUS]
select * from [RCNET]...[R_STATUS]

как ещё может быть?
20 янв 11, 16:05    [10104855]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
aux3
неработет.

select * from [RCNET].[RCNET].[SADMIN].[R_STATUS]
select * from [RCNET].[SADMIN].[R_STATUS]
select * from [RCNET]...[R_STATUS]

как ещё может быть?

А вы схему и каталог откуда берете ?
20 янв 11, 16:08    [10104887]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
Из улученой версии management studio смотрю
раскрывая узлы (связанные серверы->RCNET->rcnet->sadmin.R_STATUS)

К сообщению приложен файл. Размер - 13Kb
20 янв 11, 16:25    [10105033]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
select * from [RCNET]..[SADMIN].[R_STATUS]
может так?
20 янв 11, 16:30    [10105081]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
select * from [RCNET]..[SADMIN].[R_STATUS]

неа. пишет
Invalid use of schema or catalog for OLE DB provider "MSDASQL" for linked server "RCNET". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.
20 янв 11, 16:31    [10105091]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Glory
Member

Откуда:
Сообщений: 104751
exec sp_tables_ex @table_server = 'RCNET'
что вернет про каталог и схему ?
20 янв 11, 16:37    [10105137]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
aux3
Member

Откуда:
Сообщений: 316
таблицу.
в поле содержащем R_STATUS

TABLE_CAT = ''
TABLE_SCHEM='SADMIN '
TABLE_NAME='R_STATUS'
TABLE_TYPE='TABLE'
REMARKS=''
20 янв 11, 16:58    [10105360]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
Попробуйте вот это:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]
"schema_null"="1"
"catalog_null"="1"

И соответственно:

SELECT * FROM [RCNET]...[R_STATUS]
20 янв 11, 19:08    [10106271]     Ответить | Цитировать Сообщить модератору
 Re: linked server firebird (mssql x64->firebird)  [new]
BlackGnomeГуест
Member

Откуда:
Сообщений: 1202
Geep
Попробуйте вот это:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI]
"schema_null"="1"
"catalog_null"="1"

И соответственно:

SELECT * FROM [RCNET]...[R_STATUS]


Для FireBird 2.0 пока не помогает :(


Указан недопустимый каталог или схема для поставщика "MSDASQL" для связанного сервера
1 июл 11, 10:49    [10904537]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: linked server firebird (mssql x64->firebird)  [new]
Артур Бондаренко
Member

Откуда: Одесса
Сообщений: 141
BlackGnomeГуест, Firebird 2.5 аналогичная ситуация, запросы через openquery выполняются, а через прямой селект - нет.
Скорее всего, это глюк драйвера к Firebird. https://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.4-Release/Firebird_ODBC_2.0.4.155_x64.exe/download
23 ноя 16, 00:12    [19923199]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить