C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: Oracle10gのR1とR2のDataAcc


(過去ログ 38 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■19606 / inTopicNo.1)  Oracle10gのR1とR2のDataAccess共存
  
□投稿者/ 鶏唐揚 (163回)-(2008/05/26(Mon) 17:43:54)

分類:[データベース全般] 

[DB]Oracle10g
[OS]WinXP
[VB]2003

お世話になっております。
今回はOracleについて質問です。

10gのR1がインストールされている環境があり、バージョン10.1.0のOracle.DataAccess.dllを
参照しているアプリAが稼動しています。
そこに、10gR2をインストールし、10.2.0のOracle.DataAccess.dllを参照しているアプリBを
インストールしました。

するとアプリBは動きますがアプリAでコネクションの時点で
「オブジェクト参照がオブジェクトインスタンスに設定されていません」
となります。

バージョンの違いでDLLが参照できてないということは想像できるのですが、
じゃぁ同時に実行できるようにするにはどうしたら…と思い調べていますが
ほとんど情報が出てきません。
どうかご教示お願いいたしますorz
引用返信 編集キー/
■19607 / inTopicNo.2)  Re[1]: Oracle10gのR1とR2のDataAccess共存
□投稿者/ ネタ好き (341回)-(2008/05/26(Mon) 17:54:31)
No19606 (鶏唐揚 さん) に返信
Oracleは全然詳しく無いので間違っている可能性大ですが、「Oracle10 インスタンス」で検索すると参考になる情報が見つかるかもしれません。
引用返信 編集キー/
■19611 / inTopicNo.3)  Re[2]: Oracle10gのR1とR2のDataAccess共存
□投稿者/ やじゅ (413回)-(2008/05/26(Mon) 18:34:05)
> ■No19606 (鶏唐揚 さん) に返信

ぜんぜん違うかもしれないけど・・・
c:\oracle\product\10.1.0\client_1\network\admin\tnsnames.ora
c:\oracle\product\10.2.0\client_2\network\admin\tnsnames.ora

同一環境に混合して入れると、新しい方のtnsnames.oraを参照するようになる
新しい方にアプリAが設定がされていないと、繋がらなくなったりするわけ
ですが、ここらへんは問題ないでしょうか?
引用返信 編集キー/
■19613 / inTopicNo.4)  Re[3]: Oracle10gのR1とR2のDataAccess共存
□投稿者/ 鶏唐揚 (164回)-(2008/05/26(Mon) 18:40:01)
2008/05/26(Mon) 18:41:19 編集(投稿者)

No19607 (ネタ好き さん) に返信
> ■No19606 (鶏唐揚 さん) に返信
> Oracleは全然詳しく無いので間違っている可能性大ですが、「Oracle10 インスタンス」で検索すると参考になる情報が見つかるかもしれません。
Oracle自体のインスタンス(VB内の話ではなくOracle設定上の話)がいっぱいでてきますね。

>やじゅさん
>同一環境に混合して入れると、新しい方のtnsnames.oraを参照するようになる
>新しい方にアプリAが設定がされていないと、繋がらなくなったりするわけ
>ですが、ここらへんは問題ないでしょうか?
モチのロンです。
R1で登録されていたTNSをR2にも同様に登録してやってるので、
アプリAがR2を通して接続しにいったとしても正常に動く(という目論見だった)のです。

しかし、オラクルエラー「TNS見つかんねぇぞ!」の発生以前に、VB内でDataAccessのインスタンス生成に失敗してるので、
Oracle.DataAccess.dllのバージョンの食い違いか、参照先パスの問題だろうと睨んでいるのです。

どうにもバージョンによってDLLインストール先が違うとか、DataAccessが同時に参照されるバージョンは
ひとつだけとかいう情報がちらほら見えるのでこりゃ絶望的かもしんないですね…

#しかも後で聞いた話によると実は9iも居たとか…カオスorz
引用返信 編集キー/
■19615 / inTopicNo.5)  Re[4]: Oracle10gのR1とR2のDataAccess共存
□投稿者/ ネタ好き (343回)-(2008/05/26(Mon) 18:46:32)
Regmonを使って調査するのもいいかも。

引用返信 編集キー/
■19616 / inTopicNo.6)  Re[5]: Oracle10gのR1とR2のDataAccess共存
□投稿者/ 鶏唐揚 (165回)-(2008/05/26(Mon) 19:25:31)
2008/05/26(Mon) 19:25:43 編集(投稿者)

No19615 (ネタ好き さん) に返信
> Regmonを使って調査するのもいいかも。
>
あれから色々調べてみました。
どうもバージョンリダイレクトがうまくいってないんじゃないかという結論に達しました。

明日いったん10gR1/R2ともアンインストールし、R2のみインストールしてみます。

あと最初に書き忘れてたのですが、開発環境ではなくクライアント環境(しかも既存システム稼働中)なので
ビルド済みEXEを置き換えるという案はなしの方向で考えてます。

#Oracleは共存時のバージョン依存が一番怖いorz
引用返信 編集キー/
■19630 / inTopicNo.7)  Re[6]: Oracle10gのR1とR2のDataAcc
□投稿者/ はつね (745回)-(2008/05/27(Tue) 00:21:52)
2008/05/27(Tue) 00:24:00 編集(投稿者)

No19616 (鶏唐揚 さん) に返信
> あと最初に書き忘れてたのですが、開発環境ではなくクライアント環境(しかも既存システム稼働中)

だったら、どちらでもいいのでクライアント環境のバージョンは1\種類にするのがいいと思います。
今回の場合、10gR1と10gR2(そして9iR2?)なのでどちらのクライアントバージョンであっても、10gR1と10gR2のサーバに接続可能です。
お勧めは、10gR2クライアントで10gR1と10gR2のサーバに接続するパターンかな。

引用返信 編集キー/
■19656 / inTopicNo.8)  Re[7]: Oracle10gのR1とR2のDataAcc
□投稿者/ 鶏唐揚 (167回)-(2008/05/27(Tue) 13:29:51)
2008/05/27(Tue) 13:33:42 編集(投稿者)
No19630 (はつね さん) に返信
> 2008/05/27(Tue) 00:24:00 編集(投稿者)
>
> ■No19616 (鶏唐揚 さん) に返信
>>あと最初に書き忘れてたのですが、開発環境ではなくクライアント環境(しかも既存システム稼働中)
>
> だったら、どちらでもいいのでクライアント環境のバージョンは1\種類にするのがいいと思います。
> 今回の場合、10gR1と10gR2(そして9iR2?)なのでどちらのクライアントバージョンであっても、10gR1と10gR2のサーバに接続可能です。
> お勧めは、10gR2クライアントで10gR1と10gR2のサーバに接続するパターンかな。
>
昨日お話した通り10gのR1/R2をアンインストールし、R2のみインストールしなおしてみましたところ
正常に動作するようになりました。
細かい原因まではまだつかめてませんが、Oracle.DataAccess.dllとOraOps10.dllの
参照しているバージョンがお互いトチ狂っていたのだと思います。
R2からDLLバージョンのつけ方が変わったそうなので、そこらへんで
破綻してしまっていたようです。10gのR1/R2の同時インストールは考え物ですね…
参考:
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B31247-01/install002.htm

9iに関しては、さらに別のシステムなので10gにまとめてしまうのはどうかなと
思ったのでそのままですが、正常に動いているようです。

多数の返信ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -