豚吐露@wiki
PublicKeyToken=89b483f429c47342とか出てDBにつながらない
最終更新:
Bot(ページ名リンク)
-
view
『PublicKeyToken=89b483f429c47342』とか出てDBにつながらない
Oracle Database 11g
Windows 7-64bit Professional
Windows 7-64bit Professional
まぁ、自分で作ってない既存のmoduleだったんですけどね...
実行しようかしたらこんなExceptionが...(´・ω・`)
どうやらSystem.IO.FileNotFoundExceptionらしく...FusionLogに以下のようなことが書いてありました。
実行しようかしたらこんなExceptionが...(´・ω・`)
どうやらSystem.IO.FileNotFoundExceptionらしく...FusionLogに以下のようなことが書いてありました。
=== 事前バインド状態情報 === ログ: ユーザー = domain\\hoge ログ: DisplayName = Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342 (Fully-specified) ログ: Appbase = file:///C:/wk/pj/git/src/Fuga/ ログ: Initial PrivatePath = C:\\wk\\pj\\hBousai\\hbousai_git\\src\\Fuga\\bin 呼び出しているアセンブリ: PKGModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null === ログ: このバインドは default の読み込みコンテキストで開始します。 ログ: アプリケーション構成ファイル C:\\wk\\pj\\hBousai\\hbousai_git\\src\\Fuga\\web.config を使用します。 ログ: C:\\[[Windows]]\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config からのコンピュータ構成ファイルを使用します。 ログ: ポリシー後の参照: Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342 ログ: 新しい URL file:///C:/Users/hoge/AppData/Local/Temp/Temporary ASP.NET Files/noticeentrance/162b2e90/8f85d3fd/Oracle.DataAccess.DLL をダウンロードしようとしています。 ログ: 新しい URL file:///C:/Users/hoge/AppData/Local/Temp/Temporary ASP.NET Files/noticeentrance/162b2e90/8f85d3fd/Oracle.DataAccess/Oracle.DataAccess.DLL をダウンロードしようとしています。 ログ: 新しい URL file:///C:/wk/pj/git/src/Fuga/bin/Oracle.DataAccess.DLL をダウンロードしようとしています。 ログ: 新しい URL file:///C:/wk/pj/git/src/Fuga/bin/Oracle.DataAccess/Oracle.DataAccess.DLL をダウンロードしようとしています。 ログ: 新しい URL file:///C:/Users/hoge/AppData/Local/Temp/Temporary ASP.NET Files/noticeentrance/162b2e90/8f85d3fd/Oracle.DataAccess.EXE をダウンロードしようとしています。 ログ: 新しい URL file:///C:/Users/hoge/AppData/Local/Temp/Temporary ASP.NET Files/noticeentrance/162b2e90/8f85d3fd/Oracle.DataAccess/Oracle.DataAccess.EXE をダウンロードしようとしています。 ログ: 新しい URL file:///C:/wk/pj/git/src/Fuga/bin/Oracle.DataAccess.EXE をダウンロードしようとしています。 ログ: 新しい URL file:///C:/wk/pj/git/src/Fuga/bin/Oracle.DataAccess/Oracle.DataAccess.EXE をダウンロードしようとしています。
とりあえず、『Oracle.DataAccess.DLL』か『Oracle.DataAccess.EXE』が必要そうだって事が分かったので...Oracle Database突っ込んでみた。
したら、『C:\app\hoge\product\11.2.0\dbhome_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll』が見つかったので、pathを指定してみた。
が、通らない...(-ω-;)
pathちゃうんか?ってことで仕方がないので、『C:/wk/pj/git/src/Fuga/bin/』に配置してみた。
が、通らない...(-ω-;)
pathちゃうんか?ってことで仕方がないので、『C:/wk/pj/git/src/Fuga/bin/』に配置してみた。
errorの内容が変わった。
起動時にerror起きるようになった...(-ω-;)
起動時にerror起きるようになった...(-ω-;)
どうもこのmodule、web.configでdll読み込むようになっとるらしく、その時点で見つかった『Oracle.DataAccess.DLL』を読み込もうとしたんじゃけど...ダメだったらしい。(´・ω・`)
エラー 1 ファイルまたはアセンブリ 'Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342'、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。
手立てが無くてどうしょうもないんで、環境が動いてるトコから『Oracle.DataAccess.DLL』持ってきて配置してみたら...動いた...(-ω-;)
調べてみたら、『Oracle.DataAccess.DLL』には、x86用とx64用で分かれてるらしく...それが合ってないらしい。
調べてみたら、『Oracle.DataAccess.DLL』には、x86用とx64用で分かれてるらしく...それが合ってないらしい。
そしてassembly確認したら...こんな感じになってました。

と言う訳で、64bit版と32bit版へのlinkを貼っといた。
わしの環境では、アプリケーションで使ってるのが64bit版で、ASP.NETで使ってんのが32bit版だったみたい。めんどくさいね。(´・ω・`)
わしの環境では、アプリケーションで使ってるのが64bit版で、ASP.NETで使ってんのが32bit版だったみたい。めんどくさいね。(´・ω・`)
そして...32bit版を突っ込むことでExceptionは出んくなったが...ORA-12154が出るようになった...orz
色々試したけど、解決した。
要は、32bitと64bitのODACがどっちも入ってて、versionに差異がある場合に発生する現象らしい。
32bitはVersion 1.1で64bitはVersion 1.2。この時32bit使おうとすると64bitで1.2あるんなら32bitにも1.2あるじゃろ?って使おうとして...見つからんかったら今回のようなerrorが出るって事みたい。(´・ω・`)
32bitはVersion 1.1で64bitはVersion 1.2。この時32bit使おうとすると64bitで1.2あるんなら32bitにも1.2あるじゃろ?って使おうとして...見つからんかったら今回のようなerrorが出るって事みたい。(´・ω・`)
ココらへんも参考にしました。
http://d.hatena.ne.jp/atsukanrock/20090519/1242721158
http://d.hatena.ne.jp/atsukanrock/20090519/1242721158
更新日: 2018年02月14日 (水) 11時07分39秒
- http://d.hatena.ne.jp/atsukanrock/20090519/1242721158 どうも仕様という名のバグらしい...(-ω-;) -- (s1n) 2015-11-12 10:17:10
添付ファイル