SQL Server: JOIN Между ошибками нескольких баз данных

100
13

Я пытаюсь подключиться к двум различным базам данных, и я получаю сообщение об ошибке, которого я раньше не видел. SQL соединяет базу данных PDX_SAP_USER с asagdwpdx_prod.

Странно то, что в приведенном ниже коде, если я исключаю таблицу dbo.VW.PO_HEADER H и включаю только dbo.VW_PO_ITEM P, запрос работает нормально, но JOIN, который мне нужен, находится между таблицами H и G. Когда я включаю таблицу заголовка ПО, возникает проблема.

Сообщение об ошибке:

Msg 7202, уровень 11, состояние 2, строка 2
Не удалось найти сервер "PDX_SAP_USER" в sys.servers. Убедитесь, что указано правильное имя сервера. Если необходимо, выполните хранимую процедуру sp_addlinkedserver, чтобы добавить сервер в sys.servers.

Код SQL:

SELECT 
G.order_no,
G.order_status,
G.cst_order_no,
H.PO_NUMBER,
P.PO_ITEM_NUMBER,
P.DEL_INDICATOR
FROM
(SELECT
order_no,
order_status,
cst_order_no
FROM
asagdwpdx_prod.dbo.SimoxOrder1

UNION ALL

SELECT
order_no,
order_status,
cst_order_no
FROM
asagdwpdx_prod.dbo.SimoxOrder2

UNION ALL

SELECT
order_no,
order_status,
cst_order_no
FROM
asagdwpdx_prod.dbo.SimoxOrder3) G
JOIN
PDX_SAP_USER.dbo.VW.PO_HEADER H ON G.order_no = H.AHAG_NUMBER
JOIN
PDX_SAP_USER.dbo.VW_PO_ITEM P ON H.PO_NUMBER = P.PO_NUMBER
WHERE
G.order_status = '90'

Благодарю.

спросил(а) 2021-01-19T18:25:55+03:00 6 месяцев назад
1
Решение
78

Я думаю, что PDX_SAP_USER.dbo.VW.PO_HEADER должен быть PDX_SAP_USER.dbo.VW_PO_HEADER. Дополнительный период заставляет SQL Server думать, что вы используете 4-частичное именование, чтобы попытаться получить доступ к связанному серверу.

ответил(а) 2021-01-19T18:25:55+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема