VB2013.NET Express ODP.NET備忘録





VB2013.NET Express ODP.NETでの接続
ただのメモ。

構築されているプロジェクトのプロセッサ アーキテクチャ “MSIL” と、
参照 “Oracle.DataAccess, Version=1.102.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342” の
プロセッサ アーキテクチャ “x86” の間には不一致がありました。この不一致は、ランタイム エラーを発生させる可能性があります。
プロジェクトと参照の間でプロセッサ アーキテクチャが一致するように、
構成マネージャーを使用してターゲットとするプロジェクトのプロセッサ アーキテクチャを変更するか、
ターゲットとするプロジェクトのプロセッサ アーキテクチャに一致するプロジェクト アーキテクチャとの依存関係を参照で設定することを検討してください。

→64bitのdllを参照してたので32bit版を落としてプロジェクトの設定も合わせたら解決

‘Oracle.DataAccess.Client.OracleConnection’ のタイプ初期化子が例外をスローしました。

→よくわからなかったけど
http://bbs.wankuma.com/index.cgi?mode=al2&namber=53459&KLOG=90
この辺参考に

app.configに

<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”Oracle.DataAccess” publicKeyToken=”89b483f429c47342″/>
<bindingRedirect oldVersion=”4.121.1.0″ newVersion=”10.1.0.200″/>
</dependentAssembly>
</assemblyBinding>
</runtime>

を追加。
サイトの内容見ながらバージョンをちょっと変えた。
そしたら動いた。
でも既存のsystem.data.oracleclientで作ったプログラムの
トランザクション部分がエラー起こすのでこの後調査。

メソッドが見つかりません: ‘Void Oracle.DataAccess.Client.OracleCommand.set_Transaction(Oracle.DataAccess.Client.OracleTransaction)’

マイクロソフト製OracleClientで作ったクラスをOracle製のに単純に変えただけだからね。
Transactionの処理を全部コメントアウトしたら動いた。

ってか根本的にこんな対応でいいのかどうか調べなきゃ。
とりあえずDBに接続で来てSelectまでは確認出来るようになった。

長かった…。

コメント

タイトルとURLをコピーしました