Vâng, điều đó có thể. Kết nối trong SQL Developer sẽ không giúp bạn - bạn sẽ phải thiết lập liên kết cơ sở dữ liệu từ cơ sở dữ liệu Oracle của bạn sang cơ sở dữ liệu SQL Server.
Trước khi tạo liên kết cơ sở dữ liệu, bạn sẽ phải thiết lập một cổng không đồng nhất để kết nối với SQL Server.
Các bước chung bao gồm:
-
Cài đặt trình điều khiển Oracle ODBC trên máy chủ sẽ truy cập cơ sở dữ liệu SQL Server từ xa bằng liên kết cơ sở dữ liệu.
-
Thiết lập kết nối ODBC trên cơ sở dữ liệu Oracle cục bộ bằng Quản trị viên nguồn dữ liệu ODBC của Windows
-
Kiểm tra trình điều khiển ODBC để đảm bảo rằng kết nối được thực hiện với cơ sở dữ liệu SQL Server.
-
Định cấu hình các dịch vụ Không đồng nhất của Oracle bằng cách tạo tệp initodbc.ora trong cơ sở dữ liệu Oracle.
-
Sửa đổi
Listener.ora
tệp.SID_NAME is the DSN for the remote database. ORACLE_HOME is the actual Oracle home file path. PROGRAM tells Oracle to use heterogeneous services. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME=ora_sid) -- Enter the DSN on this line (ORACLE_HOME = c:\oracle10gdb) -- Enter your Oracle home on this line (PROGRAM = hsodbc) ) )
-
Sửa đổi tệp
Tnsnames.ora file
để trỏ đến cổng(DESCRIPTION= (ADDRESS_LIST= (Address=(PROTOCOL=TCP) (HOST= -- (Server x) (PORT=1521))) -- Enter the port on which the server x Oracle installation -- is listening (CONNECT_DATA=(SID=Cas30c)) - Enter the DSN name (HS=OK) -- Enter this value. It tells Oracle to use hetergeneous services )
-
Tải lại trình nghe trên cơ sở dữ liệu Oracle cục bộ
-
Tạo một liên kết cơ sở dữ liệu trên bản cài đặt Oracle cục bộ để truy cập vào kết nối không đồng nhất, đến lượt nó, kết nối với SQL Server.
Sau khi liên kết cơ sở dữ liệu được tạo, bạn có thể chèn vào cơ sở dữ liệu bằng cách sử dụng:
insert into <oracle_tablename>
select * from <sqlserver_table_name>@dblink_name
Đọc thêm:
- Tài liệu Oracle về kết nối Cổng không đồng nhất
- Tài liệu Oracle về cách tạo liên kết Cơ sở dữ liệu
- Tạo kết nối từ Oracle sang SQL Server (bài viết này hơi cũ nhưng rất hay, có minh họa!)