
上記の環境でプログラムを作成しています。
Windows2000ではうまくいきました。
WindowsXP(Professional)で失敗します。
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase(C_ORACLE_TNS, C_ORACLE_USER & "/" & C_ORACLE_PASS, 0)
のようなコーディングでCreateObjectのところで失敗しエラーとして429 ActiveX コンポーネントはオブジェクトを作成できません。
というのが発生します。
Oracleのバージョンは9iでそのクライアントパック9.2.0.1.0を管理者モードでインストールしています。
もちろんOO4Oはインストールされていますし、VBの参照設定でOracle InProc Server 4.0 Type Libraly を追加しています。
何度か再インストールなどしましたが全く同じです。何がいけないのでしょうか?直接回答でなくてもヒントでも何でも教えてください。
なおSQL Plusでテーブルの参照はできています。
No.5ベストアンサー
- 回答日時:
通常は正しく削除されてしかるべきなのでしょうが、レジストリにキーが残った状態になることもありますので
・・・
完全削除についてはリリースノートにも記載されております。
Oracle9i Client for Windows インストレーション・ガイド リリース2 (9.2.0.1.0)(2002/8/7)
「オラクルコンポーネントのインストール」「oracleコンポーネントとサービスの削除」
参考URL:http://otn.oracle.co.jp/document/products/oracle …
ありがとうございます。
参考になりました。
とりあえず問題も解決し、レジストリのクリア方法もわかりましたのでこの件はこれで締め切らせていただきます。
No.4
- 回答日時:
>昔の古いoracleをインストールしたりしたのがまずかったのでしょうか
という事なので、前回のレジストリーが一部残っていて書き換えが正常にできなかったのではないでしょうか。
下記は8iのアンインストールのページですが、hkey_localmachine\software\Apache Group が違うくらいで9iでもほぼ同じ構成です。
結果は保証できませんが、お手間でなければ1度9iをアンインストールし、URLを参考にレジストリーを整理、再インストールされてみてはいかがでしょうか。
ttp://www.iceprobe.net/oraoraadmin/admin_Uninstall.html
質問には書きませんでしたが、レジストリの削除も行っています。フォルダごとファイルを消すことも行いました。しかし、完全かというとあまりに多いので少しは残したと思います。まそれがいけないというといけないのでしょうが、完全になくなってるキーを再生くらいしてくれても良さそうです。実際多くのoracle何とかのキーはされてます。
oo4oだけがされないというのは解せません。
No.3
- 回答日時:
私も Windows XP + Oracle 9i + oo4o の組み合わせを使用していますが、正常に CreateObject が実行できています。
やはり、レジストリのどこかが壊れているとか、そのPC固有の問題ということでしょうかね。
ちなみに、
Set OraSession = New OraSessionClass
でも、やはり失敗するのでしょうか?(するんでしょうね。)
この回答への補足
皆様にご助言いただきましてありがとうございました。
接続についてはできる様になりました。
別の動くマシンのレジストリ設定から、Oracle Objects For OLEに関するものを抜き出しコピー(書き換え)しました。
とりあえずの結論として
1.XOraSessionに関するレジストリキーが存在しなかった
2.XOraServerのCLSIDが間違っていた
3.oip9.dllを指定しているレジストリキーが存在しなかった
ということです。
しかしインストーラからクライアントモジュールをインストール(何度も)しているのになぜそれらのキーが正常にできなかったのかが疑問の残るところです。
これらについて何かご存知でしたらまたよろしくお願いします。
やはり固有の問題ですね。
昔の古いoracleをインストールしたりしたのがまずかったのでしょうか?(もちろんアンインストールしてあります)
>Set OraSession = New OraSessionClass
やはり失敗しますね。
No.2
- 回答日時:
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
ここで失敗していると言う事はOO4OのActivXオブジェクトの登録に失敗しているか別の場所見に行っている可能性が高いです。
OO4OのDLLを再登録する場合は、
コマンドラインから
%ORACLE_HOMEの有るドライブへ移動。
> cd %ORACLE_HOME%bin
> regsvr32.exe oip9.dll
> oo4oparm.reg
を実行。
Oracle InProc Server 4.0 Type Libralyを追加していると言うことは
Dim OraSession As OraSession
で変数定義してますよね?
Dim OraSession As Objects
の方が無難な指定なので、Type Libraryがうまく参照出来てない場合はこちらを試してみるとか。
回答ありがとうございます。
%ORACLE_HOMEの有るドライブへ移動。
> cd %ORACLE_HOME%bin
> regsvr32.exe oip9.dll
念のために実行
> oo4oparm.reg
このファイルはデフォルトeドライブで作成されているためそのまま実行はせず、レジストリエディタでファイル内容と同じ内容が登録されていることを確認しました。(e→cで)
書き忘れましたが
Dim OraSession As Objects
で定義しています。
試しに
Dim OraSession As OraSession
に変更してみましたが、こちらでも同じエラーがでました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
OracleInProcServer.XOraSession オブジェクト作成時の参照ファイル
Visual Basic(VBA)
-
実行時エラー429
Visual Basic(VBA)
-
regsvr32で登録された一覧を知りたい
UNIX・Linux
-
-
4
「クラスが登録されていません 」
Access(アクセス)
-
5
オープン時にエラーが出て接続できません
Oracle
-
6
OutOfMemoryExceptionの回避策について
Visual Basic(VBA)
-
7
VBからOracle接続が出来ません。
Visual Basic(VBA)
-
8
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
9
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
10
突然オラクルへ接続できなくなりました
Oracle
-
11
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
12
参照設定は2.8と6.0 6.1とどちらにチェッ
その他(Microsoft Office)
-
13
64bit端末でのOLEDB接続に関して
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
う~ん…。
-
VBAでArrayListを使う為の「msc...
-
MSDNのセットアップ方法(ヘル...
-
Visual C++がたくさんある
-
VB.NETコーディング標準に沿っ...
-
Excelがインストールされてない...
-
次のクラスは登録されていませ...
-
VB.NET(2017)で インストーラを...
-
accessがインストールされてい...
-
VB.NETでSPREADの設定方法
-
VB6(SP5)+OO4OでCreateObjectが...
-
Designer.vbは直接コードをいじ...
-
Windows PowerShellでC言語を実...
-
excel vbaから実行するexe実行...
-
vba 時間の引き算 例えば 15:00...
-
VB.NETで参照設定したDLLの修正...
-
Windows10のVBAでDirectX 8が使...
-
Selenium webbrowserで開いてい...
-
C++初心者です。 debug asserti...
-
電卓の作成 VB
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
う~ん…。
-
VB.NETでSPREADの設定方法
-
VB6.0で作成したexeファイルが...
-
Product Codeの変更法は?
-
VB6(SP5)+OO4OでCreateObjectが...
-
VB6で作成したアプリを配布する...
-
発行元:不明???
-
accessがインストールされてい...
-
VB.NET で作られたソフト...
-
VB.NET(2017)で インストーラを...
-
VB5で依存ファイルが最新で...
-
[VB.net] ExcelへのQRコード出...
-
Excelがインストールされてない...
-
.NetFrameWork2.0を1.1にダウン...
-
ビルドした.exeファイルは.NE...
-
サーバーにインストールできな...
-
CUBASE AIのセットアップについ...
-
ExcelCreatorについて
-
今回、windows 環境下で動くデ...
おすすめ情報