- 締切済み
VBで作成したEXEを実行するとエラーになってしまいます
いつもお世話になっています。 早速ですが、VB6.0で作成したEXEを実行すると、 DB(Oracle)に接続する際、接続できなくなってします。 デバックモードでは(F8のステップ実行でもF5"開始"でも)問題なく処理が実行されるのですが、 変数も何も変更しないのに、接続できない時のリターンコードが返されます。 実行時のDBへの接続状況を確認しても自分以外接続していませんでした。 接続用のサブルーチンは他の人が作成したものですが 他のプログラムでは正常に動作します。 接続する直前でMSGBOXで接続する引数を表示してみたの ですが違いはありませんでした。 このプログラムでは、 (1)CreateObjectでEXCELファイルをOpenして、 データ読込 Application.workbooks.closeでDocumentをクローズ (2)CreateObjectでOOfO(Oracle for object for OLE)でOracleに接続します。 この段階でOracleへの接続がエラーになってしまいます。 デバックモードとEXEからの実行でなにか違いがあるのでしょうか? プログラムの製造が先に進まなくて大変困っています。 誠に申し訳ないのですが、誰かわかる方がいましたら、 直ぐに回答をお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
> (1) 開発環境と実行環境はおなじPCですか? > > (3) oo4oの参照方法(アーリー/レイト・バインド)によって結果は変わりますか? (1)、(3)は以下の想定原因を検証するための設問です。 ・実行環境でoo4oが正しくインストールされておらず、 開発環境で使用しているバージョンと差異がある。 > >(1) 開発環境と実行環境はおなじPCですか? > 同じPCで実行しています。 とのことですので、この仮説は否定できそうです。 > ”アーリー”/”レイト・バインド”がわかりません。 WEB検索エンジンで、キーワード「VB」 And 「レイトバインド」で検索してみましょう。 (COM関連の書籍、MSDN等でも解説されています) > このコンパイル方法もよくわかりません。 VBの[プロジェクト プロパティ]画面で、[コンパイル]タグを選択し、右下の[ヘルプ]ボタンを押すと、解説が表示されます。 また、WEB検索エンジンで、キーワード「VB」 And 「Pコード」で検索すれば複数の情報がヒットするはずです。 > (4) ネイティヴコンパイルと、Pコードコンパイルとで結果は変わりますか? これは、解決のための手段ではなく、問題原因特定のための手掛かりが得られる場合があるので、提示しました。 これ以外で原因として考えられるのは、VB、またはOSの問題でしょうか? (5) VBのSPは最新の状態(SP5?)に更新されていますか? (6) OSのSPは最新の状態に更新されていますか? (7) 同一のソースを別のコンピュータ上でコンパイルした場合も現象は再現しますか。 ※ (7)は、障害の原因がプログラムにあるか、環境にあるか切り分けるためのテストです。
(1) 開発環境と実行環境はおなじPCですか? (2) 使用しているバージョンのOracle/oo4oの障害情報(OTNにて入手可能)は確認しましたか? (3) oo4oの参照方法(アーリー/レイト・バインド)によって結果は変わりますか? (4) ネイティヴコンパイルと、Pコードコンパイルとで結果は変わりますか?
補足
返事が遅れましてすいませんでした。 早速ですが、 >(1) 開発環境と実行環境はおなじPCですか? 同じPCで実行しています。 >(2) 使用しているバージョンのOracle/oo4oの障害情報(OTNにて入手可能)は確認しましたか? 確認はしていないのですが、他のプログラムでも 同様なデバックを行っていて問題なく実行できている のですが・・・作成したプログラムが違うと、現象も 異なるのでしょうか? >(3) oo4oの参照方法(アーリー/レイト・バインド)によ って結果は変わりますか? すいません、参照方法の”アーリー”/”レイト・バインド”がわかりません。 どのように参照するものですか? (4) ネイティヴコンパイルと、Pコードコンパイルとで結果は変わりますか? すいません、このコンパイル方法もよくわかりません。 どのような違いがあるのでしょうか? またどのようにするのか教えて下さい。
お礼
返事に間があいてしまい申し訳ありませんでした。 急を要する作業が入ってしまい、この質問については、 一端終了させて頂きます。 せっかく回答して頂いたのに誠に申し訳ありませんでした。また、いろいろなアドバイスありがとうございました。