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

Откуда:
Сообщений: 181
Здравствуйте.
Впервые сталкиваюсь с запросом с другого сервера. Мне нужно вытащить данные из Postgre через openrowset.
Пытаюсь выполнить такой запрос:
SELECT a.*
FROM OPENROWSET('SQLNCLI', 
    'Driver=PostgreSQL;uid=postgres;Server=127.0.0.1;port=5432;database=import;pwd=pwd',
    'SELECT  *
     FROM series_data')
AS a;


Получаю такую ошибку:
OLE DB provider "SQLNCLI11" for linked server "(null)" returned message "Login timeout expired".
OLE DB provider "SQLNCLI11" for linked server "(null)" returned message "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.".
Msg 2, Level 16, State 1, Line 0
Named Pipes Provider: Could not open a connection to SQL Server [2]. 
OLE DB provider "SQLNCLI11" for linked server "(null)" returned message "Invalid connection string attribute".


Это делал:
sp_configure 'show advanced options', 1; 
RECONFIGURE; 
go
sp_configure 'Ad Hoc Distributed Queries', 1; 
RECONFIGURE; 


Allow remote connections включено.Named Pipes включил. Порт 1433 и sqlbrowser.exe добавил в исключения файервола. Источник данных ODBC PostgreSQL создал.Но ошибка всё равно происходит.
Перекопал всё в интернете ,но решения так и не нашел. Прошу Вашей помощи.
12 дек 12, 20:33    [13622060]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET из PostgreSQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
А каким образом SQL Native Client(SQLNCLI) вдруг научился работать с Postgre ?
13 дек 12, 10:46    [13623940]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET из PostgreSQL  [new]
S_A_V_e
Member

Откуда:
Сообщений: 181
С SQLNCLI это уже просто эксперементы после неудачи с MSDASQL. С ним то же выдавало ошибку.
Решение уже нашел. Дело было в том что сервер mssql стоит x64 (и библитека msdasql.dll то же), а провайдер для postgresql (psqlODBC) стоял x32. Снёс старый x32 провайдер для postgre и установил новый x64. Создал новый источник данных ODBC PgSQL с новым провайдером. Теперь запрос работает.
SELECT a.*
FROM OPENROWSET('MSDASQL', 
    'DSN=PgSQL',
    'SELECT  *
            FROM series_data limit 10 ')
AS a;
13 дек 12, 12:39    [13624853]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET из PostgreSQL  [new]
trew
Member

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

смотрели ?
13 дек 12, 12:50    [13624930]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET из PostgreSQL  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
можно ещё так поискать: PostgreSQL linked
13 дек 12, 12:51    [13624945]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить