概要
.net Web application からOracle.ManagedDataAccessを使ってOracle Autonomous databaseへ接続の設定メモです。
準備
クライアントの資格証明(ウォレット)をダウンロード、任意のフォルダーに解凍します。
例:C:\cwallet
設定方法
方法1:
Step1: web.config のconfigSections にoracle.manageddataaccess.client設定追加、
Version=4.122.19.1の部分を実際使っているOracle.ManagedDataAccess.dllのバージョンに合わせます。
<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
...
</configSections>
Step2: oracle.manageddataaccess.clientのTNS_ADMIN、WALLET_LOCATIONを設定。
ウォレットをC:\cwalletに解凍した場合の例:
<configuration>
...
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="TNS_ADMIN" value="C:\cwallet" />
<setting name="WALLET_LOCATION" value="C:\cwallet" />
</settings>
</version>
</oracle.manageddataaccess.client>
</configuration>
Step3: に接続用connectionStringを追加:
例:
<connectionStrings>
<add name="atptest" connectionString="Data Source=******;User ID=*****;Password=****;" />
</connectionStrings>
Data Source - tnsnames.ora の中で記述したtnsname。
方法2:
Step1: ウォレット解凍したファイルの中のtnsnames.ora、sqlnet.oraをweb.config と同じフォルダーにコピーする
Step2: sqlnet.oraの中のDIRECTORY=の部分を環境に合わせて記述
ウォレットをC:\cwalletに解凍した場合の例:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="C:\cwallet")))
SSL_SERVER_DN_MATCH=yes
Step3: に接続用connectionStringを追加 (方法1のStep3と同じ手順)
例:
<connectionStrings>
<add name="atptest" connectionString="Data Source=******;User ID=*****;Password=****;" />
</connectionStrings>
Data Source - tnsnames.ora の中で記述したtnsname。
Appendix
request timed outとORA-00542エラー発生の場合、下記の記事を参照してください。
IIS web アプリケーションからOracle Autonomous database接続時のrequest timed outとORA-00542エラー対応