はしめまして!ぷれみあって言います。
VBにて、RDOを使用しDBに接続するサンプルプログラムを作成しています。
一通り作成し実行すると、「ActiveXコンポーネントはオブジェクトを作成できません。」と実行時エラー429が出てしまいコンパイルも出来ません。
【環境】
VB6 SP5
参照設定:「Microsoft Remote Data Object 2.0(MSRDO20.DLL)」をチェック。
MSRDO20.DLLに対し、regsvr32も実行してみました。
【PG】
'' RDOの宣言
Public rdoENV As rdoEnvironment
Public rdoConn As rdoConnection
Public rdoErr As rdoError
Public rdoRST As rdoResultset
'' 変数の宣言
Dim ODBC_DSN As String
'' RDB環境の設定
☆ rdoEngine.rdoDefaultCursorDriver = rdUseIfNeeded
rdoEngine.rdoDefaultErrorThreshold = 0
Set rdoENV = rdoEngine.rdoEnvironments(0)
ODBC_DSN = "uid=" & UID & ";pwd=" & PASSWD & ";database=" & DB_NAME
'' データベースオープン
Set rdoConn = rdoENV.OpenConnection(DSN, rdDriverComplete, False, ODBC_DSN)
Set rdoErr = rdoEngine.rdoErrors(0)
☆の個所でエラーが出ます。
(withブロックが定義されていない。とインスタンスウォッチで出ます)
業務に関わる事で困っております。
いろいろWEBも調べたのですが、原因が掴めません。
教えて頂ければ幸いです。
宜しくお願い致します。
Newしてないからではないですかね。
ちょっと見てみます。
VB5でもVB6でもそのエラーは再現されませんでした。
Newの件もあとの行でSetしてましたね。
なんででしょう。
もうちょっとみてみます
そのエラーの詳細をヘルプで見る限り、
きちんと登録がされていないか、DLLが壊れているかのようですね。
詳しくは
http://support.microsoft.com/default.aspx?scid=kb;ja;411943
こちらです
レスありがとうございます。
仕事場所から返事が書けないので、返事送れました。
レスに対して、早速行ってみました。
試した環境は、下記の3種類です。
・Windows2000 VB6Professional SP5
・Windows98 VB6Professional SP5
・Windows98 VB6Professional
結果ダメでした。
EnterpriseEditionとProfessionalの差って関係あるのでしょうか?
なんだかそんな気もしてきました。
ProfessionalにはRDOは付属していないみたいです
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q191/0/37.asp&NoWebContent=1
上、長いけど一行でアドレスです
本当にお手数掛けありがとうございました。
Professionalでは、RDOが付属してない事でサンプル作成を打ち切りました。
ADOでは出来たのでとりあえず良いのですが、DBがRDOを推薦しているので、
調査していました。
(ADOでは性能が悪いらしいので、このままでは.NETになりそうです)
ですが、VB6Professionalをインストール時に、リモートデータオブジェクトの欄があったのはなぜだろー?って不思議も残りますが。それは良いにします。
教えて頂いたURLを参照し、資料として本日提出しました。
Loreleyさんありがとうございました。
また何かあればお願いします。
ツイート | ![]() |