powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с линкованным сервером от сиквела к постгрессу
10 сообщений из 10, страница 1 из 1
Проблема с линкованным сервером от сиквела к постгрессу
    #40025835
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Установил драйвер:
PostgreSQL Native OLEDB Provider (PGNP)

Создал DSN как на старом сервере, создал линкованный сервер:
Код: sql
1.
2.
EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'MyLinkedServer', @provider=N'PGNP', @datasrc=N'N'MyLinkedServer', @provstr=N'PORT=5432;CNV_SPECIAL_FLTVAL=ON;', @catalog=N'MyDB'
...




Соединение работает, но когда запускаю хранимую процедуру, которая использует этот линкованный сервер, то выходит ошибка:
Код: sql
1.
2.
3.
4.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "PGNP" for linked server "MyLinkedServer" reported an error. Provider caused a server fault in an external process.
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "PGNP" for linked server "MyLinkedServer".



На старом сервере все работает, на новом - нет.

Версия старого сервера:
Код: sql
1.
Microsoft SQL Server 2008 (SP4-GDR) (KB4057114) - 10.0.6556.0 (X64)   Dec 28 2017 15:21:01   Copyright (c) 1988-2008 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: ) 


Нового:
Код: sql
1.
Microsoft SQL Server 2019 (RTM-GDR) (KB4517790) - 15.0.2070.41 (X64)   Oct 28 2019 19:56:59   Copyright (C) 2019 Microsoft Corporation  Developer Edition (64-bit) on Windows Server 2019 Datacenter 10.0 <X64> (Build 17763: ) (Hypervisor) 



В чем может быть проблема?

Спасибо.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40025838
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m,

1. PGNP 64 bit?
2. Restart the MS SQL Server.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40025840
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter
Roust_m,

1. PGNP 64 bit?
2. Restart the MS SQL Server.


Да 64бит, уже перестартовал.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40025904
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m

В чем может быть проблема?

настройки linked server-ов 2008 и 2019 сравнивали? они идентичны?
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026207
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad
Roust_m

В чем может быть проблема?

настройки linked server-ов 2008 и 2019 сравнивали? они идентичны?


Я заскриптовал linked server с 2008-го и создал его на 2019-м.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026220
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось заставить запрос работать, поменяв его немного:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE @sql varchar(MAX) = 'SELECT * FROM
    OPENQUERY('+@serverName+', ''SELECT u.column1 as column1, u.column2 || '''' '''' || u.column3 as name,
        case
            when ...
            when ...
            ...
            else r.column end as type
    FROM '+@dbName+'.[schemaname].table1 c
    INNER JOIN '+@dbName+'.[schemaname].table2 ra ON ra.id=c.id
    INNER JOIN '+@dbName+'.[schemaname].table3 r ON r.id=ra.id
    INNER JOIN '+@dbName+'.[schemaname].table4 u ON u.id=ra.id
    INNER JOIN '+@dbName+'.[schemaname].table5 u2 ON u2.id=c.id
    WHERE ...)';
    EXEC (@sql);



На:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE @sql varchar(MAX) = 'SELECT u.column1 as column1, u.column2 + '' '' + u.column3 as name,
        case
            when ...
            when ...
            ...
            else r.column end as type
    FROM '+@serverName+'.'+@dbName+'.[schemaname].table1 c
    INNER JOIN '+@serverName+'.'+@dbName+'.[schemaname].table2 ra ON ra.id=c.id
    INNER JOIN '+@serverName+'.'+@dbName+'.[schemaname].table3 r ON r.id=ra.id
    INNER JOIN '+@serverName+'.'+@dbName+'.[schemaname].table4 u ON u.id=ra.id
    INNER JOIN '+@serverName+'.'+@dbName+'.[schemaname].table5 u2 ON u2.id=c.id
    WHERE ...';
    EXEC (@sql);



Непонятно, почему предыдущий запрос не работает. Не хотелось бы менять все хранимые процедуры, которые ипользуют такой подход.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026224
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m,

можете уровень совместимости покрутить у базы скуля
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026226
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter
Roust_m,

можете уровень совместимости покрутить у базы скуля


Уровень совместимости я оставил 2008, мы не хотим его менять пока, чтобы минимизировать проблемы при миграции.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026227
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое интересное, что в той же хранимке есть другой запрос с OPENQUERY к тому же linked server, который работает, что странно.
...
Рейтинг: 0 / 0
Проблема с линкованным сервером от сиквела к постгрессу
    #40026243
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такой вопрос, какая должна быть версия драйвера? Старая, которая стояла на сивеле 2008 и работала с Постгрессом 8 или новая, для сиквела 2019? Постгрес останется на версии 8.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с линкованным сервером от сиквела к постгрессу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]