Oracle Database Gatewayを使用すると、OracleクライアントアプリケーションはOracle以外のデータベースにアクセスできます。たとえば、OracleSQLDeveloperとMySQL。 Oracle Database GatewaysとHeterogeneousServices(Oracleに組み込まれている)は、データがOracle、MySQL、SQL Serverなどにある場合でも、単一のローカルOracleデータベースの外観を示します。
Oracle Database Gateway for ODBC(DG4ODBC)は、ODBCデータベースをOracleと透過的に統合します。 ODBCは、統一されたクロスDBMSインターフェイスを提供し、ODBCドライバーと呼ばれるミドルウェアを使用してアプリケーションの要求をデータベースが理解できるものに変換することにより、アプリケーションをデータベースから分離します。 ODBCドライバを使用してOracleをターゲットデータベースにリンクするため、DG4ODBCは特定のデータベースに関連付けられていません。この柔軟なアーキテクチャにより、OracleはODBCドライバが利用可能な任意のデータベースと共存できます。
DG4ODBCを使用すると、Oracleとサードパーティの両方のOracleアプリケーションをすぐに使用して、OracleデータベースであるかのようにODBCデータベースの情報にアクセスできます。アプリケーションを再コーディングまたは再構成する必要はありません。
DG4ODBCは、Oracle 11 gの一部として提供されます。 以降、追加費用なしで、Oracle 10 gで使用できます。 以降。 ODBCデータベースを以前のバージョンのOracleと統合するには、HSODBCチュートリアルを参照してください。
DG4ODBCは、ODBCドライバーが使用可能な任意のデータベースにOracleを接続できるため、OracleはDG4ODBCを汎用接続エージェントと呼びます。
Easysoft ODBCドライバーをDG4ODBCとともに使用して、OracleをMySQLに接続できます。このガイドの手順は、LinuxおよびUNIX上のMySQLおよびOracleを対象としています。
- DG4ODBCのバージョンが32ビットか64ビットかを確認します:
cd $ORACLE_HOME/bin file dg4odbc
file
の場合 コマンドの出力には、「ELF 64ビットLSB実行可能ファイル」などが含まれます。DG4ODBCは64ビットです。プラットフォーム用に、64ビットのMySQLODBCドライバーをダウンロードしてください。それ以外の場合は、プラットフォーム用の32ビットMySQLODBCドライバーをダウンロードします。
- DG4ODBCがインストールされているマシンにMYSQLODBCドライバーをインストール、ライセンス供与、およびテストします。
インストール手順については、MySQLODBCドライバーのドキュメントを参照してください。設定する必要のある環境変数(
LD_LIBRARY_PATH
)については、ドキュメントを参照してください。 、LIBPATH
、LD_RUN_PATH
またはSHLIB_PATH
プラットフォームとリンカーによって異なります)。 - DG4ODBC初期化ファイルを作成します。例:
cd $ORACLE_HOME/hs/admin cp initdg4odbc.ora initmysql.ora
- 次のパラメータと値がinitファイルに存在することを確認してください:
HS_FDS_CONNECT_INFO = mysql_odbc_dsn HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
mysql_odbc_dsnを置き換えます ターゲットMySQLデータベースに接続するMySQLODBCドライバーデータソースの名前。
MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります。
IgnoreAuth=Yes
を含めてくださいHS_FDS_CONNECT_INFO
内 パラメータ値。例:HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
- Oracle / MySQLの互換性を高めるために次の行を追加します:
HS_FDS_QUOTE_IDENTIFIER = FALSE
-
$ORACLE_HOME/network/admin/listener.ora
にエントリを追加します これにより、DG4ODBCのSID_NAMEが作成されます。例: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) ) )
oracle_home_directoryを置き換えます
$ORACLE_HOME
の値を使用 。例:/u01/app/oracle/product/11.2.0/dbhome_1/
。 - DG4ODBCエントリを
$ORACLE_HOME/network/admin/tnsnames.ora
に追加します これは、前の手順で作成したSID_NAMEを指定します。例:mysql_connection= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521)) (CONNECT_DATA= (SID=mysql)) (HS=OK) )
- Oracleリスナーを起動(または再起動)します。
cd $ORACLE_HOME/bin ./lsnrctl stop ./lsnrctl start
- SQL*PlusでOracleデータベースに接続します。
- SQL * Plusで、ターゲットMySQLデータベースのデータベースリンクを作成します。例:
CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
dbuserを置き換えます およびdbpassword ターゲットMySQLデータベースの有効なユーザー名とパスワードを使用します。
–または、MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります:
CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';