Link Server

      การที่เรามีฐานข้อมูลที่หลากหลายมากกว่า ไม่ว่าจะมีทั้ง Microsoft SQL Server, Oracle และอื่นๆ แต่จำเป็นที่บางรายงานต้องทำการแสดงผล โดยใช้ข้อมูลที่หลายๆแหล่งผ่าน Query เพียงครั้งเดียวจะทำได้อย่างไร ตอนนี้เรามีทางออกให้แล้วโดยทำการสร้าง Link Server ที่ MS SQL Server นั่นเอง

1. ตัวอย่าง เราใช้ฐานข้อมูลที่เป็น MS SQL อยู่ 2 เครื่อง โดยที่เครื่องแรกเป็น MS SQL 7.0 และ MS SQL 2005 
วิธีการ คือ ใช้ทำการสร้าง Link Server ที่เครื่อง MS SQL 2005 เชื่อมต่อไปยัง MS SQL 7.0 โดยทำการเชื่อมต่อในรูปแบบ OLEDB for ODBC ดังนี้

EXEC sp_addlinkedserver

@server = 'MSSQL7',
@srvproduct = 'Microsoft SQL Server 7.0',
@provider = 'MSDASQL',
@provstr = 'Driver={SQL server};server=MSSQL7;Database=DB;AutoTranslate=False'

Reference Link


2. ตัวอย่าง การใช้ MSSQL เข้าไปดูข้อมูลของ MySQL โดยที่ก่อนอื่นต้องทำการติดตั้ง ODBC เสียก่อน ตามลิ้งนี้เลยจ้า

EXEC master.dbo.sp_addlinkedserver 
@server = N'MySQL', 
@srvproduct=N'MySQL', 
@provider=N'MSDASQL', 
@provstr=N'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=server_name; DATABASE=database_name; USER=root; PASSWORD=password; OPTION=3'

หลังจากที่ทำการเพิ่มลิงค์เป็นที่เรียบร้อยแล้ว เราจะสามารถ Select Data ของ MySQL ได้ดังนี้
select * from openquery(MYSQL, 'SELECT * FROM table_name')

3. ตัวอย่าง การใช้งาน OpenRowSet ผ่าน MSSQL เข้าไปดูข้อมูลที่ MySQL

select * from OPENROWSET
('MSDASQL',
'DRIVER={MySQL ODBC 5.3 ANSI Driver}; SERVER=server_name; DATABASE=db_name; USER=user; PASSWORD=password; OPTION=3',
'SELECT * FROM table')

Comments

Popular posts from this blog

การตั้งเวลาระหว่าง Server และ Client

วิธีตั้งค่า NTP บน Primary Domain Controller

เทคนิค Ghost XP ข้าม Spec