上記の環境でプログラムを作成しています。
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で質問しましょう!
似たような質問が見つかりました
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Windows 10 Windows10のアップデートがうまく行きません。先日も同じ質問をさせて頂いたのですが、バージョン 3 2022/06/23 14:16
- デスクトップパソコン パソコン インテルC5i5RYH BIOSの設定方法を教えて下さい 5 2022/09/27 13:34
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
OracleInProcServer.XOraSession オブジェクト作成時の参照ファイル
Visual Basic(VBA)
-
VBからOracle接続が出来ません。
Visual Basic(VBA)
-
「クラスが登録されていません 」
Access(アクセス)
-
-
4
oo4oの読み方・・・・。
その他(データベース)
-
5
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
6
オープン時にエラーが出て接続できません
Oracle
-
7
-2147024770オートメーションエラー 指定したモジュールが見つからない
InternetExplorer(IE)
-
8
OracleとADO
Oracle
-
9
実行時エラー429
Visual Basic(VBA)
-
10
OO4Oのインストールのしかた
Visual Basic(VBA)
-
11
VBAをOracleClientがインストールされていない環境で実行するには?
その他(Microsoft Office)
-
12
CreateObjectでエラー
Visual Basic(VBA)
-
13
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
14
64bit端末でのOLEDB接続に関して
Oracle
-
15
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
16
regsvr32で登録された一覧を知りたい
UNIX・Linux
-
17
VB6.0のIsNull関数に相当するもの
Visual Basic(VBA)
-
18
VS 2008(VB.NET)
Visual Basic(VBA)
-
19
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
20
vbからoracleへの接続
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6(SP5)+OO4OでCreateObjectが...
-
VB.NETでSPREADの設定方法
-
VB.NET で作られたソフト...
-
VBAでArrayListを使う為の「msc...
-
ビルドした.exeファイルは.NE...
-
[VB.net] ExcelへのQRコード出...
-
う~ん…。
-
accessがインストールされてい...
-
エクセル2003で作ったVBAが2007...
-
6.0から2005へのアップグレード
-
発行元:不明???
-
VB6.0のラーニングエディション...
-
VB6.0で作成したexeファイルが...
-
Product Codeの変更法は?
-
VB6開発環境はWindowsServer200...
-
Excelがインストールされてない...
-
C#で作ったプログラムの配布が...
-
VB.NET(2017)で インストーラを...
-
vba 時間の引き算 例えば 15:00...
-
アウトルックが起動しているか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6(SP5)+OO4OでCreateObjectが...
-
VBAでArrayListを使う為の「msc...
-
VB.NETでSPREADの設定方法
-
[VB.net] ExcelへのQRコード出...
-
VB6のアプリケーションの配布
-
VB.NET で作られたソフト...
-
Product Codeの変更法は?
-
VB6で作成したアプリを配布する...
-
ビルドした.exeファイルは.NE...
-
VB6.0で作成したexeファイルが...
-
.NETの標準ライブラリでExcelフ...
-
C#で作ったプログラムの配布が...
-
う~ん…。
-
次のクラスは登録されていませ...
-
MSDNのセットアップ方法(ヘル...
-
VB.Netの違い
-
VB.NET(2017)で インストーラを...
-
6.0から2005へのアップグレード
-
アドインファイルの移動(再)
-
Visual Studio 2005は64ビットO...
おすすめ情報