Nếu trong hệ thống của bạn sử dụng cả SQL Server và Oracle, thì đây là cách cho phép bạn thực hiện tạo 1 linked server từ SQL Server vào Oracle. Từ đó, bạn có thể thực hiện các lệnh truy vấn trên Oracle và sử dụng dữ liệu nhận được trên SQL Server.
Các bước thực hiện như sau:
Bước 1: Cài đặt Oracle client trên SQL Server host
Bạn có thể download trình cài đặt Oracle client từ trang web của Oracle. Bạn nên sử dụng Oracle client phiên bản tương tự phiên bản của Oracle server.
Bước 2: Cấu hình kết nối đến Oracle Instance
Sử dụng “Oracle Net Configuration Assistant” để cấu hình kết nối đến Oracle server, hoặc bạn có thể thêm cấu hình vào file tnsnames.ora, format của cấu hình kết nối đến Oracle server như sau:
OracleServiceNameAlias = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = your-host-name-or-ip)(PORT = listener-port-usually-1521)) ) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = oracle-service-name) ) )
Trong đó:
- OracleServiceNameAlias: Do bạn tự đặt, được sử dụng như là Data Source khi cấu hình Linked Server.
- your-host-name-or-ip: Là hostname hoặc địa chỉ ip của Oracle server mà bạn kết nối đến.
- listener-port-usually-1521: Là port của Oracle server (cổng ngầm đinh của Oracle là 1521).
- oracle-service-name: là service name của Oracle server
Bước 3: Test cấu hình đã được thiết lập
Bạn hãy dùng Command Prompt, đánh vào dòng lệnh sau: tnsping OracleServiceNameAlias
Ví dụ:
C:\>tnsping OralceServiceNameAlias... Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = OralceServiceNameAlias))) OK (10 msec)
Khi bạn thấy dòng trên, thì bạn cấu hình đã OK.
Bước 4: Create link from SQL Server to Oracle
Bạn sử dụng SQL Server Management Studio và chạy các câu lệnh sau:
EXEC sp_addlinkedserver @server = 'MyOracleLink', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc = 'OralceServiceNameAlias' EXEC sp_addlinkedsrvlogin 'MyOracleLink', false, 'NULL', 'ora_username', 'ora_password'
Trong đó:
- sp_addlinkedserver thực hiện đăng ký link server vào SQL Server
- @server=Tên của Linked Server, tên này phải chưa tồn tại trong danh sách Linked Servers
- @srvproduct= Tên của data source kết nối đến (tùy chọn)
- @provider = Provider sẽ sử dụng, ở đây MSDAORA = Microsoft OLE DB Provider for Oracle
- @datasrc = Tên của Oracle Instance Alias mà bạn đã cấu hình ở bước 2.
- sp_addlinkedsrvlogin đăng ký account đăng nhập vào Oracle, sử dụng account ora_username/ora_password.
Bước 5: Tạo câu lệnh để test dữ liệu
SELECT * FROM OPENQUERY(MyOracleLink, 'SELECT * FROM TableTest')
Như vậy, với câu lệnh trên thực hiện được, thì quá trình cấu hình Linked Server đã hoàn tất.