dポイントプレゼントキャンペーン実施中!

vbからoracleへの接続について教えて下さい。

ORACLEデータベースにoo4oを使って接続をしているのですが、Oracleクライアントをインストール済みのPCでは何ら問題なく接続できます。

OracleクライアントをインストールしていないPCではエラーメッセージがでてしまいます。
処理はこんな感じです...

Public ssOra As Object      
Public dbOra As OraDatabase
Public dynOra As OraDynaset

Set ssOra = CreateObject("OracleInProcServer.XOraSession")
Set dbOra = ssOra.OpenDatabase("HRH", "HRH00/HRH00", 0&)
Set dynOra = dbOra.DbCreateDynaset("select * from 消耗品_注文履歴", 0&)

Set ssOra... のところでエラーとなってしまいます。エラー内容は
********実行時エラー'429'*****************************
ActiveXコンポーネントはオブジェクトを作成できません
**************************************************

activeX,oracle関連のDLLファイルは参照設定に登録しています。
これを解決するためにはOracleクライアントをインストールするしかないのでしょうか?
また、インストールしたらエラーは本当になくなるのでしょうか?
皆様宜しくお願いします。

ちなみにクライアントPCはOS:WIN95 oracleバージョン8.1.7です

A 回答 (2件)

oo4oは、Net8が必須です。

(つまりOracleクライアントが必要)

Oracleのデータベースのアクセスは以下のようになっています。

サーバー側
Oracle
 |
Net8サーバー
 |
-------
 | クライアント側
Net8クライアント
 |
oo4o
 |
VBアプリケーションなど

VBのディストリビューションウィザードで、oo4oは配布できますが、Net8クライアントは、多分できないと思います。個別にインストールする必要があります。
当然、Net8クライアントの設定(TNSNames.oraなど)の設定も必要になります。
oo4oのNet8付きのパッケージもあったと思います。(配布条件などは未確認)探してみてください。

インストールしたらエラーは本当になくなるかどうかは、分かりません。テストしてみてください。(必要ソフトがそろっていて、設定もしっかりして、ソフトにバグがなければエラーはないでしょうとしかいえません。)
    • good
    • 0

クライアントを入れずに参照しようということを考えたことも無いので事実はわからないですが。



クライアントでNet8設定されていない場合
SIDを指定したところでどこのOracleServerを参照にいくか判断できないと思います。
SIDで「HRH」と指定したところで、マシンにしてみれば
「それってどこですか?」状態じゃないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す