Trình điều khiển ODBC SQL Server cho phép bạn kết nối Oracle trên nền tảng Linux và UNIX với SQL Server hoặc SQL Azure. Nếu bạn quyết định mã hóa kết nối mạng từ các ứng dụng khách của mình sang SQL Server hoặc bạn đang sử dụng SQL Azure, bạn cần sử dụng phiên bản TLS của trình điều khiển, được bao gồm trong bản phân phối trình điều khiển SQL Server ODBC.
Nếu bạn không sử dụng phiên bản TLS của trình điều khiển SQL Server ODBC để kết nối với phiên bản SQL Server đã được định cấu hình để yêu cầu kết nối được mã hóa, bạn sẽ gặp phải lỗi này:
Client unable to establish connection: SSL requested but not supported
Nếu bạn đang sử dụng trình điều khiển ODBC Easysoft SQL Server với Oracle:
- Trong nguồn dữ liệu SQL Server được trỏ tới bởi
HS_FDS_CONNECT_INFO
tronginitSID.ora
, thực hiện các thay đổi sau:- Thay đổi
Driver
từ:Driver = Easysoft ODBC-SQL Server
tới:
Driver = Easysoft ODBC-SQL Server SSL
- Thêm các dòng sau:
Encrypt = Yes TrustServerCertificate = Yes
- Thay đổi
- Nếu bạn trỏ đến thư viện trình điều khiển thay vì thư viện Trình quản lý trình điều khiển trong
initSID.ora
, thay đổiHS_FDS_SHAREABLE_NAME
giá trị thành:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Khởi động lại trình nghe Oracle.
Nếu bạn là người dùng mới:
- Cài đặt và cấp phép trình điều khiển SQL Server ODBC trên máy có cài đặt Oracle.
Để biết hướng dẫn cài đặt, hãy xem tài liệu trình điều khiển ODBC.
Lưu ý Bạn cần cài đặt Trình quản lý trình điều khiển unixODBC trên máy của mình. Bản phân phối Easysoft bao gồm phiên bản Trình quản lý trình điều khiển unixODBC mà trình điều khiển ODBC của Easysoft SQL Server đã được thử nghiệm. Chương trình cài đặt trình điều khiển Easysoft cung cấp cho bạn tùy chọn cài đặt unixODBC.
- Tạo nguồn dữ liệu ODBC trong /etc/odbc.ini kết nối với cơ sở dữ liệu SQL Server mà bạn muốn truy cập từ Oracle®. Ví dụ:
[SQLSERVER_SAMPLE] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password # If the database you want to connect to is the default # for the SQL Server login, omit this attribute Database = Northwind Encrypt = Yes TrustServerCertificate = Yes
- Sử dụng isql để kiểm tra nguồn dữ liệu mới. Ví dụ:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Tại lời nhắc, gõ "help" để hiển thị danh sách các bảng. Để thoát, hãy nhấn quay lại trong một dòng nhắc trống.
Nếu bạn không thể kết nối, hãy tham khảo bài viết này để được hỗ trợ.
- Tạo tệp init DG4ODBC. Để thực hiện việc này, hãy thay đổi thành
hs/admin
thư mục con. Ví dụ:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Tạo bản sao của tệp
initdg4odbc.ora
. Đặt tên cho tệp mớiinitmssql.ora
. - Đảm bảo các thông số và giá trị này có trong tệp init của bạn:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Thay thế my_mssql_odbc_dsn với tên của nguồn dữ liệu trình điều khiển ODBC SQL Server kết nối với phiên bản SQL Server đích. Ví dụ
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Nhận xét dòng cho phép theo dõi DG4ODBC. Ví dụ:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Thêm mục nhập vào
listener.ora
tạo SID_NAME cho DG4ODBC. Ví dụ:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Thêm mục nhập DG4ODBC vào
tnsnames.ora
chỉ định SID_NAME đã tạo ở bước trước. Ví dụ:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Thay thế oracle_host với tên máy chủ của máy Oracle® của bạn.
- Khởi động (hoặc khởi động lại) Oracle® Listener. Ví dụ:
lsnrctl stop lsnrctl start
- Kết nối với cơ sở dữ liệu Oracle® của bạn trong SQL * Plus.
- Trong SQL * Plus, hãy tạo một liên kết cơ sở dữ liệu cho phiên bản SQL Server đích. Ví dụ:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Ghi chú
- Nếu bạn gặp sự cố khi kết nối với SQL Server từ Oracle®, hãy bật theo dõi DG4ODBC và kiểm tra các tệp theo dõi được ghi vào
hs/log
danh mục. Để bật theo dõi DG4ODBC, hãy thêm dòngHS_FDS_TRACE_LEVEL = DEBUG
tớiinitmssql.ora
và sau đó khởi động / khởi động lại trình nghe Oracle®. Nếulog
thư mục không tồn tại, tạo nó. Ví dụ:mkdir log chmod +w log