SQL Server: การ join ข้าม database
รบกวนถามเรื่องการ join ข้อมูลข้าม database และคนละ server หน่อยค่ะ
คือต้องการ join ข้อมูลเพื่อเปรียบเทียบกันนะค่ะ ข้อมูลอยู่คนละ database และ server ก็ต่างกันด้วยค่ะ
แต่พอลองทำ มัน Error Login failed for user 'DBTEST'. ทั้งๆที่ทำ sp_addlinkedsrvlogin แล้วคะ
ขอคำแนะนำจากผู้รู้
Code (PHP)
/*
select * from sys.servers
*/
/*
EXEC sp_addlinkedserver @server='HN_INVOICE_ITEM'
*/
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=UMasterCode,
@useself=N'False',
@locallogin=NULL,
@rmtuser='sa',
@rmtpassword='12345678'
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=DNHOSPITAL_TEST,
@useself=N'False',
@locallogin=NULL,
@rmtuser='dbtest',
@rmtpassword='123456'
GO
SELECT TOP 20 * FROM [10.0.1.20].[UMasterCode].[dbo].[MASTER_CODE] a
INNER JOIN [10.0.1.23].[DNHOSPITAL_TEST].[dbo].[HN_INVOICE_ITEM] b ON MASTER_CODE.id_uipd=HN_INVOICE_ITEM.AN
ORDER BY a.id_uipd ASC
GO
Error
Msg 18456, Level 14, State 1, Line 1
Login failed for user 'DBTEST'.
ทำไมผมไม่เห็น IP ตามรูปใน query เลยครับลองแบบนี้ดู Code (SQL) แบบนี้รึป่าว
SELECT TOP 20 * FROM [10.0.1.240].[UMasterCode].[dbo].[MASTER_CODE] a
INNER JOIN [10.0.1.230].[DNHOSPITAL_TEST].[dbo].[HN_INVOICE_ITEM] b ON MASTER_CODE.id_uipd=HN_INVOICE_ITEM.AN
ORDER BY a.id_uipd ASC
SELECT TOP 20 * FROM [10.1.1.240].UCEPMasterCode.[dbo].IPDMASTER_CODE a
INNER JOIN [10.1.1.230].[DNHOSPITAL_TEST].[dbo].HNIPD_INVOICE_ITEM b ON [dbo].[IPDMASTER_CODE].id_uipd=[dbo].HNIPD_INVOICE_ITEM.AN
มัน Error Code (PHP)
Msg 4104, Level 16, State 1, Line 32
The multi-part identifier "IPDMASTER_CODE.id_uipd" could not be bound.
Msg 4104, Level 16, State 1, Line 32
The multi-part identifier "HNIPD_INVOICE_ITEM.AN" could not be bound.