Kết nối các ứng dụng Oracle trên Windows với SQL Server.
Bạn có thể sử dụng Cổng cơ sở dữ liệu của Oracle cho ODBC (DG4ODBC) và Trình điều khiển ODBC SQL Server để kết nối Oracle với SQL Server.
DG4ODBC là một phần của Oracle 11 g và sau đó, miễn phí và tương thích với Oracle 10 g và sau này.
DG4ODBC tương tác với Dịch vụ Không đồng nhất (một thành phần cơ sở dữ liệu Oracle) để cho phép các ứng dụng khách Oracle truy cập cơ sở dữ liệu không phải của Oracle. Dữ liệu không phải của Oracle được tích hợp một cách minh bạch và do đó các ứng dụng khách Oracle không biết rằng dữ liệu được lưu trữ trong cơ sở dữ liệu từ xa từ một nhà cung cấp khác
Hướng dẫn sau đây chỉ cho bạn cách kết nối Oracle trên Windows với SQL Server. Để biết thêm thông tin về DG4ODBC, hãy tham khảo hướng dẫn DG4ODBC dành cho Windows của chúng tôi.
- Tải xuống trình điều khiển SQL Server ODBC cho nền tảng Windows của bạn. (Cần đăng ký.)
- Cài đặt và cấp phép trình điều khiển SQL Server ODBC trên máy Windows có cài đặt DG4ODBC.
Để biết hướng dẫn cài đặt, hãy xem tài liệu trình điều khiển SQL Server ODBC.
- Trong Quản trị viên Nguồn Dữ liệu ODBC trên máy DG4ODBC của bạn, hãy định cấu hình DSN Hệ thống kết nối với phiên bản Máy chủ SQL của bạn.
Để biết hướng dẫn về cách định cấu hình nguồn dữ liệu, hãy xem tài liệu trình điều khiển SQL Server ODBC.
Windows 64 bit Bạn cần kiểm tra xem phiên bản DG4ODBC của mình là 32 bit hay 64 bit. Để thực hiện việc này, hãy khởi động Windows Task Manager và chọn tab Processes. Trong cửa sổ Command Prompt, nhập dg4odbc --help. Trong Trình quản lý Tác vụ Windows, hãy tìm quy trình DG4ODBC. Nếu Tên hình ảnh là "dg4odbc.exe * 32" thì DG4ODBC là 32-bit. Nếu Tên hình ảnh là "dg4odbc.exe" thì DG4ODBC là 64-bit. Nhấn CTRL + C trong cửa sổ Command Prompt, khi bạn đã sử dụng Windows Task Manager để tìm ra kiến trúc của DG4ODBC.
Nếu bạn có phiên bản 64-bit của DG4ODBC, bạn cần chạy phiên bản 64-bit của Quản trị viên ODBC. Để thực hiện việc này, hãy mở Công cụ quản trị trong Bảng điều khiển, sau đó mở Nguồn dữ liệu (ODBC). (Trên Windows Server 2003 trở về trước, ứng dụng Bảng điều khiển khởi chạy Quản trị viên ODBC được gắn nhãn Nguồn dữ liệu. Trên Windows 8 trở lên, ứng dụng Bảng điều khiển có nhãn Nguồn dữ liệu ODBC (64-bit).)
Nếu bạn có phiên bản 32-bit của DG4ODBC, bạn cần chạy phiên bản 32-bit của Quản trị viên ODBC. Để thực hiện việc này, trong hộp thoại Chạy Windows, hãy nhập:
%windir%\syswow64\odbcad32.exe
- Tạo tệp init DG4ODBC. Để thực hiện việc này, hãy thay đổi thành thư mục% ORACLE_HOME% \ hs \ admin. Tạo bản sao của tệp initdg4odbc.ora. Đặt tên cho tệp mới
initmssql.ora
.Lưu ý Trong các hướng dẫn này, thay thế% ORACLE_HOME% bằng vị trí của thư mục Oracle HOME của bạn. Ví dụ:C:\ oraclexe \ app \ oracle \ product \ 11.2.0 \ server.
- Đả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 = my_sqlserver_odbc_dsn;
- Thêm mục nhập vào% ORACLE_HOME% \ network \ admin \ 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% ORACLE_HOME% \ network \ admin \ 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:
cd %ORACLE_HOME%\bin 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, tạo 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_sqlserver_password" USING 'mssql';
Thay thế my_sqlserver_user và my_sqlserver_password với tên người dùng và mật khẩu hợp lệ cho phiên bản SQL Server đích.
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 thư mục% ORACLE_HOME% \ hs \ trace. Để bật theo dõi DG4ODBC, hãy thêm dòng HS_FDS_TRACE_LEVEL =DEBUG vào initmssql.ora và sau đó khởi động / khởi động lại trình nghe Oracle. Nếu thư mục theo dõi không tồn tại, hãy tạo nó.
- Nếu bạn bật theo dõi Trình quản lý Trình điều khiển ODBC, nhưng không nhận được tệp theo dõi hoặc nhận được tệp theo dõi trống, hãy thay đổi vị trí tệp theo dõi thành thư mục TEMP của Windows. Ví dụ:C:\ Windows \ Temp \ SQL.log.
Sự cố khi truy cập dữ liệu của bạn
Nếu bạn gặp bất kỳ sự cố nào khi cố gắng đọc / ghi dữ liệu vào SQL Server từ Oracle, vui lòng thực hiện như sau:
- Đảm bảo rằng sự cố không xảy ra với ứng dụng bạn đang sử dụng, chẳng hạn như SQL Developer, Toad, v.v. Kiểm tra sự cố bằng SQLPlus trên máy Oracle. Nếu sự cố chỉ xảy ra, chẳng hạn như trong Toad chứ không phải trong SQLPlus, vui lòng báo cáo sự cố cho những người hỗ trợ Toad.
- Cố gắng giới hạn vấn đề trong cột / bảng sự cố. Ví dụ:giả sử bạn đang chạy
select * from table@link
và bạn chỉ có 1 cột gây ra sự cố, hãy thử chạyselect column from table@link
và xem liệu điều đó có gây ra lỗi tương tự hay không. Điều này giúp chúng tôi chẩn đoán sự cố. - Nếu bạn cần liên hệ với Bộ phận hỗ trợ của Easysoft với sự cố DG4ODBC:
- Bật theo dõi Dg4ODBC trong tệp $ ORACLE_HOME / hs / admin / initmssql.ora của bạn:
HS_FDS_TRACE_LEVEL = Debug
- Dừng lại và khởi động trình nghe Oracle của bạn.
- Tái tạo sự cố trong SQL Plus. Nếu bạn không nhận được tệp theo dõi Oracle trong thư mục $ ORACLE_HOME / hs / log của mình, trình xử lý của bạn chưa được khởi động lại hoặc Oracle chưa được định cấu hình đúng cách.
- Gửi nhóm hỗ trợ Easysoft ([email protected]):
- Kết quả hiển thị thông tin đăng nhập vào SQLPlus, truy vấn đang được thực thi và lỗi hiển thị.
- Bản sao của tệp nhật ký initmssql Oracle của bạn. Vui lòng nén / nén tệp này nếu hơn 1 MB.
- Bản sao tệp initmssql.ora của bạn.
- Bản sao của các tệp có đuôi _install.info từ / usr / local / easysoft. Sau khi chúng tôi có tất cả các mục, nhóm hỗ trợ Easysoft sẽ có thể nhanh chóng giải quyết nếu đây là sự cố / lỗi cấu hình Oracle trong Oracle, cấu hình / lỗi Easysoft hoặc nếu chúng tôi chỉ cần thêm thông tin.
- Bật theo dõi Dg4ODBC trong tệp $ ORACLE_HOME / hs / admin / initmssql.ora của bạn: