SQL Server ODBCドライバーを使用すると、LinuxおよびUNIXプラットフォーム上のOracleをSQLServerまたはSQLAzureに接続できます。クライアントアプリケーションからSQLServerへのネットワーク接続を暗号化する場合、またはSQL Azureを使用している場合は、SQLServerODBCドライバーディストリビューションに含まれているTLSバージョンのドライバーを使用する必要があります。
TLSバージョンのSQLServerODBCドライバーを使用して、暗号化された接続を要求するように構成されたSQL Serverインスタンスに接続しない場合、次のエラーが発生します。
Client unable to establish connection: SSL requested but not supported
すでにOracleでEasysoftSQLServer ODBCドライバーを使用している場合:
-
HS_FDS_CONNECT_INFO
が指すSQLServerデータソース内initSID.ora
、次の変更を行います。Driver
を変更します 差出人:Driver = Easysoft ODBC-SQL Server
宛先:
Driver = Easysoft ODBC-SQL Server SSL
- 次の行を追加します:
Encrypt = Yes TrustServerCertificate = Yes
-
initSID.ora
、HS_FDS_SHAREABLE_NAME
を変更します 値:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Oracleリスナーを再起動します。
新規ユーザーの場合:
- OracleがインストールされているマシンにSQLServerODBCドライバーをインストールしてライセンスを取得します。
インストール手順については、ODBCドライバーのドキュメントを参照してください。
注 マシンにunixODBCDriverManagerがインストールされている必要があります。 Easysoftディストリビューションには、Easysoft SQLServerODBCドライバーがテストされたバージョンのunixODBCドライバーマネージャーが含まれています。 Easysoftドライバセットアッププログラムには、unixODBCをインストールするオプションがあります。
- Oracle®からアクセスするSQLServerデータベースに接続するODBCデータソースを/etc/odbc.iniに作成します。次に例を示します。
[SQLSERVER_SAMPLE] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password # If the database you want to connect to is the default # for the SQL Server login, omit this attribute Database = Northwind Encrypt = Yes TrustServerCertificate = Yes
- isqlを使用して新しいデータソースをテストします。例:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
プロンプトで「help」と入力して、テーブルのリストを表示します。終了するには、空のプロンプト行でReturnキーを押します。
接続できない場合は、この記事を参照してください。
- DG4ODBC初期化ファイルを作成します。これを行うには、
hs/admin
に変更します サブディレクトリ。例:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
ファイル
initdg4odbc.ora
のコピーを作成します 。新しいファイルにinitmssql.ora
という名前を付けます 。 - 次のパラメータと値がinitファイルに存在することを確認してください:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
my_mssql_odbc_dsnを置き換えます ターゲットSQLServerインスタンスに接続するSQLServerODBCドライバーデータソースの名前を使用します。例
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- DG4ODBCトレースを有効にする行をコメントアウトします。例:
#HS_FDS_TRACE_LEVEL = <trace_level>
-
listener.ora
にエントリを追加します これにより、DG4ODBCのSID_NAMEが作成されます。例:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- DG4ODBCエントリを
tnsnames.ora
に追加します これは、前の手順で作成したSID_NAMEを指定します。例:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
oracle_hostを置き換えます Oracle®マシンのホスト名を使用します。
- Oracle®リスナーを起動(または再起動)します。例:
lsnrctl stop lsnrctl start
- SQL*PlusでOracle®データベースに接続します。
- SQL * Plusで、ターゲットSQLServerインスタンスのデータベースリンクを作成します。例:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
メモ
- Oracle®からSQLServerへの接続に問題がある場合は、DG4ODBCトレースを有効にして、
hs/log
に書き込まれたトレースファイルを確認してください。 ディレクトリ。 DG4ODBCトレースを有効にするには、HS_FDS_TRACE_LEVEL = DEBUG
という行を追加します。initmssql.ora
へ 次に、Oracle®リスナーを起動/再起動します。log
の場合 ディレクトリが存在しません。作成してください。例:mkdir log chmod +w log