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

Truy vấn hai cơ sở dữ liệu với Oracle SQL Developer

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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngừng bắt SQL Server làm công việc bẩn thỉu của bạn

  2. UNIX_TIMESTAMP trong SQL Server

  3. Nút Master Table bị thiếu

  4. WHERE IN (SELECT NonExistingColumnName) gây ra hành vi không mong muốn

  5. API SSIS:Làm cách nào để biết Giao diện nào để truyền một __COMObject tới?