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

Làm cách nào để bạn thiết lập một máy chủ được liên kết với cơ sở dữ liệu Oracle trên SQL 2000/2005?

Tôi đã có thể thiết lập một máy chủ được liên kết với cơ sở dữ liệu Oracle từ xa, kết thúc là một quy trình gồm nhiều bước:

  1. Cài đặt trình điều khiển Oracle ODBC trên SQL Server.
  2. Tạo DSN hệ thống cho cơ sở dữ liệu Oracle trên SQL Server.
  3. Tạo máy chủ được liên kết trên máy chủ SQL bằng System DSN.

Bước 1:Cài đặt trình điều khiển Oracle ODBC trên máy chủ

một. Tải xuống các gói Oracle Instant Client cần thiết:Basic, ODBC và SQL * Plus (tùy chọn)

b. Giải nén các gói vào một thư mục cục bộ trên máy chủ SQL, thường là C:\Oracle . Điều này sẽ dẫn đến một [thư mục] như C:\Oracle\instantclient_10_2 , sẽ là giá trị của [thư mục] được tham chiếu trong phần còn lại của câu trả lời này.

c. Tạo tệp văn bản có tên tnsnames.ora trong [thư mục] ứng dụng khách tức thì có chứa thông tin sau:

OracleTnsName = 
(
  DESCRIPTION=
  (
    ADDRESS = (PROTOCOL=TCP)(HOST=10.1.3.42)(PORT=1521)
  )
  (
    CONNECT_DATA = (SERVICE_NAME=acc)
  )
)

Lưu ý:HOST thực tế , PORTSERVICE_NAME sẽ khác nhau dựa trên máy chủ Oracle mà bạn đang thiết lập kết nối. Thông tin này thường có thể được tìm thấy bằng cách sử dụng các công cụ máy khách mạng Oracle trong trình nghe .

OracleTnsName có thể là bất kỳ tên nào bạn muốn gán cho nguồn dữ liệu Oracle, và sẽ được sử dụng khi thiết lập DSN hệ thống. Bạn cũng có thể sử dụng cú pháp trên để xác định nhiều tên TNS trong cùng một tệp tnsnames.ora nếu muốn.

d. Thêm [thư mục] vào hệ thống PATH biến môi trường.

e. Tạo biến môi trường hệ thống mới có tên TNS_Admin có giá trị là [thư mục]

f. Thực thi [directory]\odbc_install.exe tiện ích để cài đặt trình điều khiển ODBC Oracle.

g. Bạn nên khởi động lại máy chủ SQL, nhưng có thể không cần thiết. Ngoài ra, bạn có thể muốn cấp quyền bảo mật cho thư mục này đối với danh tính người dùng máy chủ SQL và tác nhân SQL.

Bước 2:Tạo DNS hệ thống sử dụng trình điều khiển Oracle ODBC

một. Mở Quản trị viên nguồn dữ liệu ODBC dụng cụ. [Công cụ quản trị -> Nguồn dữ liệu (ODBC)]

b. Chọn tab Hệ thống DSN và sau đó chọn nút Thêm.

c. Trong danh sách trình điều khiển, chọn Oracle trong Instantclient {version} . (ví dụ:'Oracle trong Instantclient 10_2') rồi chọn nút Kết thúc.

d. Chỉ định những điều sau:

  • Data Source Name :{Tên DSN hệ thống}
  • Description :{để trống / để trống}
  • TNS Service Name :nên có OracleTnsName bạn đã xác định trong tnsnames.ora tệp được liệt kê, hãy chọn nó làm giá trị.
  • ID Người dùng :{Tên người dùng Oracle}

e. Chọn nút Kiểm tra kết nối. Bạn sẽ được nhắc cung cấp {Oracle user password}. Nếu mọi việc suôn sẻ, bài kiểm tra sẽ thành công.

Bước 3:Tạo máy chủ được liên kết trong SQL với cơ sở dữ liệu Oracle

Mở cửa sổ truy vấn trong máy chủ SQL và thực hiện như sau:

EXEC sp_addlinkedserver 
     @server        = '{Linked Server Name}'
    ,@srvproduct    = '{System DSN Name}'
    ,@provider      = 'MSDASQL'
    ,@datasrc       = '{System DSN Name}'

EXEC sp_addlinkedsrvlogin 
     @rmtsrvname    = '{Linked Server Name}'
    ,@useself       = 'False'
    ,@locallogin    = NULL
    ,@rmtuser       = '{Oracle User Name}'
    ,@rmtpassword   = '{Oracle User Password}'

Lưu ý:{Linked Server Name} có thể là bất kỳ thứ gì bạn muốn sử dụng khi tham chiếu đến máy chủ Oracle, nhưng {System DNS Name} phải khớp với tên của DSN hệ thống mà bạn đã tạo trước đó.

{Oracle User Name} phải giống với User ID được sử dụng bởi DSN của hệ thống và {Oracle User Password} phải giống như bạn đã sử dụng để kiểm tra thành công kết nối ODBC. Xem KB 280106 để biết thông tin về cách khắc phục sự cố máy chủ liên kết Oracle.

Truy vấn máy chủ được liên kết Oracle

Bạn có thể sử dụng OPENQUERY để thực hiện các truy vấn chuyển qua trên máy chủ được liên kết của Oracle, nhưng lưu ý rằng đối với các tập bản ghi rất lớn, bạn có thể nhận được ORA-01652 thông báo lỗi nếu bạn chỉ định một ORDER BY mệnh đề trong truy vấn chuyển. Di chuyển ORDER BY mệnh đề từ truy vấn chuyển đến câu lệnh chọn bên ngoài đã giải quyết được vấn đề này cho tôi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bỏ qua thông số phạm vi ngày trong mệnh đề where khi thông số không được nhập

  2. Cách kiểm tra định dạng ngày của phiên Oracle của bạn

  3. danh sách được phân tách bằng dấu phẩy là kết quả của câu lệnh select trong Oracle

  4. SQLPlus - lưu vào nhiều tệp từ các khối PL / SQL

  5. Làm thế nào để lên lịch một công việc trong Oracle SQL Developer?