Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tạo và cấu hình máy chủ liên kết Oracle trong SQL Server

Bài viết này giải thích quy trình từng bước tạo và định cấu hình máy chủ được liên kết giữa Oracle 19c và SQL Server 2019.

Điều kiện tiên quyết để tạo một máy chủ được liên kết

Để trình diễn, tôi đã cài đặt SQL Server 2019 trên máy trạm của mình. Cùng với nó, tôi đã cài đặt Oracle 19c và tạo một phiên bản có tên là EMPLOYEE . Trong các bài viết tiếp theo của tôi, tôi cũng sẽ giải thích quá trình cài đặt và cấu hình từng bước của Oracle 19c.

Để cấu hình máy chủ được liên kết, trước tiên chúng ta phải tạo cơ sở dữ liệu trong Oracle và sau đó tạo người dùng trong Oracle DB. Lệnh CREATE USER sẽ thực hiện điều đó. Từ khóa GRANT đảm bảo kết nối , tài nguyên không gian bảng không giới hạn đặc quyền cho người dùng. Bạn có thể tham khảo bài viết này để biết thêm chi tiết về từ khóa TẠO NGƯỜI DÙNG.

Mở SQL Plus và kết nối nó bằng Oracle bằng lệnh sau:

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Feb 21 17:40:15 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Enter user-name: sys as sysdba

Lệnh nhắc nhập mật khẩu. Để trống và nhấn Enter .

Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

Bây giờ, chúng ta đã kết nối thành công với phiên bản Oracle. Chạy truy vấn sau để tạo người dùng có tên nisarg :

SQL> create user nisarg identified by "[email protected]";
User-created. 

Truy vấn tiếp theo cấp quyền thích hợp cho nisarg người dùng:

SQL> grant connect,resource, unlimited tablespace to nisarg;
Grant succeeded.

Tạo bảng trên cơ sở dữ liệu Nhân viên

Chúng tôi đang tạo ba bảng: người thất nghiệp , tblDepartment tblDesignation . Khóa ngoại nằm trên tble Employee bàn. Các cột khóa ngoài là worker_dept_id worker_designation_id . Chúng tham chiếu đến tblDepartment tblDesignation những cái bàn. Các tập lệnh để tạo bảng ở bên dưới.

Tạo nhân viên thất nghiệp bảng:

CREATE TABLE NISARG."tblEmployee" (
  ID                        NUMBER(10, 0) GENERATED ALWAYS AS IDENTITY (
  MAXVALUE 1000000000000000000000000000),
  "Employee_name"           NVARCHAR2(50),
  "Employee_dept_id"        INTEGER,
  "Address"                 NVARCHAR2(1000),
  "ContactNumber"           NVARCHAR2(50),
  "Employee_designation_id" INTEGER,
  CONSTRAINT FK_TBLEMPLOYEE_EMPLOYEE_DEPT_ID FOREIGN KEY ("Employee_dept_id")
  REFERENCES NISARG."tblDepartment" ("Dept_ID"),
  CONSTRAINT FK_TBLEMPLOYEE_EMPLOYEE_DESIGN FOREIGN KEY ("Employee_designation_id")
  REFERENCES NISARG."tblDesignation" ("Designation_ID")
)
TABLESPACE USERS;

Tạo tblDepartment bảng:

CREATE TABLE NISARG."tblDepartment" (
  "Dept_ID"   INTEGER GENERATED ALWAYS AS IDENTITY (
  MAXVALUE 1000000000000000000000000000),
  "Dept_name" NVARCHAR2(50)
)
TABLESPACE USERS;

Tạo tblDesignation bảng:

CREATE TABLE NISARG."tblDesignation" (
  "Designation_ID"   NUMBER(10, 0) GENERATED ALWAYS AS IDENTITY (
  MAXVALUE 1000000000000000000000000000),
  "Designation_Name" NVARCHAR2(50)
)
TABLESPACE USERS;

Tại đây, bạn có thể xem sơ đồ ER:

Bây giờ, hãy để chúng tôi tạo máy chủ được liên kết.

Tạo máy chủ được liên kết bằng SSMS

Khi chúng tôi cài đặt Oracle 19c, máy khách hoặc máy chủ, nhà cung cấp có tên OraOLEDB.Oracle sẽ được tạo ra. Các nhà cung cấp này đảm bảo giao tiếp giữa SQL Server và các nguồn dữ liệu hoặc cơ sở dữ liệu khác.

Sau khi cài đặt Oracle, bạn có thể thấy rằng Nhà cung cấp OLEDB đã được tạo trong Nhà cung cấp nút của SQL Server Management Studio.

Trước khi chúng tôi tạo một máy chủ được liên kết mới, chúng tôi phải bật A quy trình chậm tham số.

Nhấp chuột phải vào OraOLEDB.Oracle và nhấp vào Thuộc tính :

Trên Tùy chọn nhà cung cấp , nhấp vào Cho phép trong quá trình xử lý . Nhấp vào OK để lưu cấu hình:

Để tạo một máy chủ được liên kết, hãy mở SSMS và kết nối với công cụ cơ sở dữ liệu. Mở rộng Đối tượng máy chủ> Máy chủ được liên kết> Máy chủ được liên kết mới :

Trong cửa sổ cấu hình, chỉ định các chi tiết sau:

  1. Máy chủ được liên kết . Chỉ định tên của máy chủ được liên kết. Tên này không được chứa khoảng trắng hoặc các ký tự khác . Trong trường hợp của chúng tôi, tên của máy chủ được liên kết là ORACLESERVER .
  2. Loại Máy chủ . Bạn có thể chọn SQL Server hoặc các nguồn dữ liệu khác. Trong trường hợp của chúng tôi, chúng tôi đang tạo một máy chủ được liên kết giữa Oracle và SQL Server. Do đó, hãy chọn Dữ liệu khác nguồn .
  3. Nhà cung cấp . Chọn tên từ Nhà cung cấp trình đơn thả xuống. Trong trường hợp của chúng tôi, đó là Nhà cung cấp Oracle cho OLEDB .
  4. Nguồn Dữ liệu . Tên nguồn dữ liệu là tên Dịch vụ của phiên bản Oracle . Trong trường hợp của chúng tôi, đó là nhân viên .

Bạn có thể xem danh sách các dịch vụ trong Đặt tên dịch vụ của Cấu hình mạng Oracle người quản lý> Đặt tên dịch vụ> chọn tên dịch vụ.

Bây giờ, hãy để chúng tôi định cấu hình cài đặt bảo mật để kết nối với máy chủ cơ sở dữ liệu Oracle:trong Máy chủ được liên kết mới cửa sổ, đi tới Bảo mật phần.

Chúng tôi thiết lập kết nối bằng cách sử dụng Đăng nhập từ xa và mật khẩu. Đối với điều đó, hãy chọn Được thực hiện bằng ngữ cảnh bảo mật này và chỉ định thông tin đăng nhập:

Để thực thi các thủ tục được lưu trữ từ xa, chúng ta phải bật RPC (lệnh gọi thủ tục từ xa) trong máy chủ được liên kết.

Đi tới Tùy chọn máy chủ và đặt RPC giá trị là Đúng :

Bây giờ, hãy nhấp vào OK để tạo một máy chủ được liên kết. Sau khi hoàn tất thành công, bạn có thể xem nó trong Máy chủ LinkedIn nút trong SSMS:

Tạo máy chủ được liên kết bằng T-SQL

Bạn có thể thực thi tập lệnh T-SQL để tạo một máy chủ được liên kết. Sau đó, để thêm máy chủ được liên kết, bạn có thể sử dụng sp_addlinkedserver thủ tục được lưu trữ. Để định cấu hình đăng nhập cho máy chủ được liên kết, bạn có thể sử dụng sp_addlinkedsrvlogin thủ tục được lưu trữ. Để đặt các thông số cấu hình, bạn có thể sử dụng sp_serveroption thủ tục được lưu trữ.

Trong trường hợp của chúng tôi, bạn nên thực thi mã sau để thêm máy chủ được liên kết:

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ORACLESERVER', 
@srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'employee'

Thực thi mã sau để định cấu hình bảo mật máy chủ được liên kết:

USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ORACLESERVER',
@useself=N'False',@locallogin=NULL,@rmtuser=N'nisarg',@rmtpassword='########'

Đoạn mã sau dùng để thiết lập các thông số cấu hình:

EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO

Bây giờ, hãy để chúng tôi kiểm tra cấu hình bằng cách truy vấn dữ liệu.

Kiểm tra kết nối bằng cách truy vấn dữ liệu

Để kiểm tra kết nối, hãy khởi chạy SQL Server Management Studio và thực hiện truy vấn sau:

select * from [oracleserver]..NISARG.tblEmployee

Kết quả truy vấn:

Như bạn có thể thấy, truy vấn đã được thực hiện thành công. Nó cho biết cấu hình thành công của máy chủ được liên kết.

Bây giờ, chúng ta hãy tạo một thủ tục được lưu trữ trong SQL Server để truy cập dữ liệu từ cơ sở dữ liệu Oracle và chạy các truy vấn SQL của Oracle:

create procedure sp_view_employee
as
begin
select * from [oracleserver]..NISARG.tblEmployee
end

Chạy lệnh dưới đây để thực hiện thủ tục đã lưu trữ:

Exec sp_view_employee

Kết quả truy vấn:

Hãy để chúng tôi thực thi thủ tục được lưu trữ được tham số hóa. Đoạn mã như sau:

create procedure sp_view_employee_name
@employeeName varchar(50)
as
begin
select * from [oracleserver]..NISARG.tblEmployee where [email protected]
end

Chạy thủ tục:

exec sp_view_employee 'Nisarg Upadhyay'

Kết quả truy vấn:

Tóm tắt

Bằng cách này, bạn có thể định cấu hình máy chủ được liên kết trong Oracle và SQL Server 2019. Chúng tôi đã mô tả quy trình từng bước và chúng tôi hy vọng bài viết này sẽ giúp bạn trong công việc.

Cũng đọc

Cạm bẫy của việc sử dụng máy chủ được liên kết


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm NLS_LOWER () trong Oracle

  2. Các ví dụ về truy vấn MySQL có câu trả lời

  3. Chèn các ký tự quốc gia vào cột NCHAR hoặc NVARCHAR oracle không hoạt động

  4. Tải bảng dữ liệu Excel vào cơ sở dữ liệu Oracle

  5. Khớp các giá trị cột trùng lặp của Oracle bằng cách sử dụng Soundex, Jaro Winkler và Chỉnh sửa Khoảng cách (UTL_MATCH)