Oracle Database Gateways umożliwiają aplikacjom klienckim Oracle dostęp do baz danych innych niż Oracle. Na przykład Oracle SQL Developer i MySQL. Bramy bazy danych Oracle i usługi heterogeniczne (wbudowane w Oracle) prezentują wygląd pojedynczej, lokalnej bazy danych Oracle, mimo że dane mogą znajdować się w Oracle, MySQL, SQL Server i tak dalej.
Oracle Database Gateway for ODBC (DG4ODBC) w przejrzysty sposób integruje bazy danych ODBC z Oracle. ODBC zapewnia jednolity interfejs między systemami DBMS i izoluje aplikacje od bazy danych za pomocą oprogramowania pośredniego znanego jako sterownik ODBC do tłumaczenia żądań aplikacji na coś zrozumiałego dla bazy danych. Ponieważ używa sterownika ODBC do łączenia Oracle z docelową bazą danych, DG4ODBC nie jest powiązany z konkretną bazą danych. Ta elastyczna architektura umożliwia Oracle współistnienie z dowolną bazą danych, dla której dostępny jest sterownik ODBC.
Korzystając z DG4ODBC, możesz natychmiast użyć aplikacji Oracle, zarówno firmy Oracle, jak i innych firm, aby uzyskać dostęp do informacji w bazie danych ODBC tak, jakby była to baza danych Oracle. Aplikacje nie muszą być przekodowywane ani ponownie konfigurowane.
DG4ODBC jest częścią Oracle 11g i później, bez dodatkowych kosztów i może być używany z Oracle 10g i później. Aby zintegrować bazy danych ODBC z wcześniejszymi wersjami Oracle, zapoznaj się z naszym samouczkiem HSODBC.
Ponieważ DG4ODBC może łączyć Oracle z dowolną bazą danych, dla której dostępny jest sterownik ODBC, Oracle odnosi się do DG4ODBC jako ogólnego agenta łączności.
Możesz użyć sterownika Easysoft ODBC z DG4ODBC, aby połączyć Oracle z MySQL. Czynności opisane w tym przewodniku dotyczą MySQL i Oracle w systemach Linux i UNIX.
- Sprawdź, czy Twoja wersja DG4ODBC jest 32- czy 64-bitowa:
cd $ORACLE_HOME/bin file dg4odbc
Jeśli
file
dane wyjściowe polecenia zawierają „64-bitowy plik wykonywalny ELF LSB” lub coś podobnego, DG4ODBC jest 64-bitowy, pobierz 64-bitowy sterownik MySQL ODBC dla swojej platformy.W przeciwnym razie pobierz 32-bitowy sterownik ODBC MySQL dla swojej platformy.
- Zainstaluj, licencj i przetestuj sterownik MYSQL ODBC na komputerze, na którym zainstalowano DG4ODBC.
Instrukcje dotyczące instalacji można znaleźć w dokumentacji sterownika MySQL ODBC. Zapoznaj się z dokumentacją, aby sprawdzić, które zmienneśrodowiskowe należy ustawić (
LD_LIBRARY_PATH
,LIBPATH
,LD_RUN_PATH
lubSHLIB_PATH
w zależności od platformy i linkera). - Utwórz plik inicjujący DG4ODBC. Na przykład:
cd $ORACLE_HOME/hs/admin cp initdg4odbc.ora initmysql.ora
- Upewnij się, że te parametry i wartości są obecne w pliku początkowym:
HS_FDS_CONNECT_INFO = mysql_odbc_dsn HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
Zastąp mysql_odbc_dsn z nazwą źródła danych sterownika MySQL ODBC, które łączy się z docelową bazą danych MySQL.
Jeśli Twój serwer MySQL nie wymagają podania nazwy użytkownika i hasła, w tym
IgnoreAuth=Yes
wHS_FDS_CONNECT_INFO
wartość parametru. Na przykład:HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
- Dodaj ten wiersz, aby zwiększyć zgodność z Oracle / MySQL:
HS_FDS_QUOTE_IDENTIFIER = FALSE
- Dodaj wpis do
$ORACLE_HOME/network/admin/listener.ora
który tworzy SID_NAME dla DG4ODBC. Na przykład:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mysql) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH = /usr/local/easysoft/unixODBC/lib: /usr/local/easysoft/lib) ) )
Zastąp oracle_home_directory o wartości
$ORACLE_HOME
. Na przykład/u01/app/oracle/product/11.2.0/dbhome_1/
. - Dodaj wpis DG4ODBC do
$ORACLE_HOME/network/admin/tnsnames.ora
który określa SID_NAME utworzony w poprzednim kroku. Na przykład:mysql_connection= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521)) (CONNECT_DATA= (SID=mysql)) (HS=OK) )
- Uruchom (lub uruchom ponownie) nasłuchiwanie Oracle:
cd $ORACLE_HOME/bin ./lsnrctl stop ./lsnrctl start
- Połącz się z bazą danych Oracle w SQL*Plus.
- W SQL*Plus utwórz łącze do bazy danych dla docelowej bazy danych MySQL. Na przykład:
CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
Zastąp dbuser i hasło bazy danych z prawidłową nazwą użytkownika i hasłem do docelowej bazy danych MySQL.
– Lub, jeśli Twój serwer MySQL nie wymagają podania nazwy użytkownika i hasła:
CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';