Linkowanie SQL Server w Oracle jest możliwe dzięki Oracle Transparent Gateway for MS SQL Server, jeżeli nie zainstalowałeś go przy instalacji serwera można go ściągnąć ze strony oracla.
Edytujemy plik konfiguracyjny
$ORACLE_HOME/tg4msql/admin/inittg4msql.ora
Wypełniając sekcje
HS_FDS_CONNECT_INFO="SERVER=name_server;DATABASE=name_db"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=user
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=user
HS_FDS_RECOVERY_PWD=pass
Skonfiguruj listnera $ORACLE_HOME/network/admin/listener.ora
(SID_DESC =
(PROGRAM = tg4msql)
(SID_NAME = SQLServer)
(ORACLE_HOME = /home/oracle/product/10.2.0/db_1/
)
)
(PROGRAM = tg4msql)
(SID_NAME = SQLServer)
(ORACLE_HOME = /home/oracle/product/10.2.0/db_1/
)
)
Restartujemy serwis listera
lsnrctl stop
lsnrctl start
edytujemy plik $ORACLE_HOME/network/admin/tnsnames.ora
SQLServer=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)
(HOST = sqlserver)
(PORT = 1521)))
(CONNECT_DATA =
(SID = SQLServer)
)
(HS=OK)
)
(CONNECT_DATA =
(SID = SQLServer)
)
(HS=OK)
)
Z konsoli SQL*Plus wykonujemy polecenie
SQL> create database link msql
connect to user
identified by pass
using 'SQLServer';
Do bazy odwołujemy się przy pomocy zapytania ze składnią T-SQL dodając na końcu nazwę linka „@mssql”
SQL> select count(*) from tabela_test@msql;
COUNT(*)
----------
12237
SQL>
Brak komentarzy:
Prześlij komentarz