• 締切済み

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からの実行でなにか違いがあるのでしょうか? プログラムの製造が先に進まなくて大変困っています。 誠に申し訳ないのですが、誰かわかる方がいましたら、 直ぐに回答をお願いします。

みんなの回答

noname#4564
noname#4564
回答No.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)は、障害の原因がプログラムにあるか、環境にあるか切り分けるためのテストです。  

y-kawamura
質問者

お礼

返事に間があいてしまい申し訳ありませんでした。 急を要する作業が入ってしまい、この質問については、 一端終了させて頂きます。 せっかく回答して頂いたのに誠に申し訳ありませんでした。また、いろいろなアドバイスありがとうございました。

noname#4564
noname#4564
回答No.1

  (1) 開発環境と実行環境はおなじPCですか? (2) 使用しているバージョンのOracle/oo4oの障害情報(OTNにて入手可能)は確認しましたか? (3) oo4oの参照方法(アーリー/レイト・バインド)によって結果は変わりますか? (4) ネイティヴコンパイルと、Pコードコンパイルとで結果は変わりますか?  

y-kawamura
質問者

補足

返事が遅れましてすいませんでした。 早速ですが、 >(1) 開発環境と実行環境はおなじPCですか? 同じPCで実行しています。 >(2) 使用しているバージョンのOracle/oo4oの障害情報(OTNにて入手可能)は確認しましたか? 確認はしていないのですが、他のプログラムでも 同様なデバックを行っていて問題なく実行できている のですが・・・作成したプログラムが違うと、現象も 異なるのでしょうか? >(3) oo4oの参照方法(アーリー/レイト・バインド)によ って結果は変わりますか? すいません、参照方法の”アーリー”/”レイト・バインド”がわかりません。 どのように参照するものですか? (4) ネイティヴコンパイルと、Pコードコンパイルとで結果は変わりますか? すいません、このコンパイル方法もよくわかりません。 どのような違いがあるのでしょうか? またどのようにするのか教えて下さい。

関連するQ&A

  • VBで作成したパッケージを実行すると実行時エラー'429'が発生してしまいます。

    VBにてcsvファイルのデータをOracleデータベースにinsert、updateするプログラムを作成し、開発パソコンにて正常に動作することを確認しました。 開発パソコン ・Windows2000 Server(SP3) ・Visual Basic 6.0 Enterprise Edition ・Oracle 9i 本番パソコン ・Windows2000 Server(SP3) ・Oracle 9i テストパソコン ・Windows2000 Professional(SP1) 今、上記のように3台のパソコンがあります。 開発パソコンで開発したVBのプログラムをコンパイルしてexeを作成し、開発パソコン上から開発パソコン上のオラクルに対してプログラムを実行すると正常に動作します。 本番パソコンには、Visual Basicをインストールしていないため、プログラムを実行できるようにするには開発パソコンにてディストリビューションウィザードを使ってセットアッププログラムを作成し、本番パソコンにインストールする必要があると思います(質問1.ここまでは正しいですよね??)。 そこでウィザードに沿ってセットアッププログラムを作成し、まずはテストパソコンにてインストール後に実行してみたのですが、エラーが出てしまいました。 「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません。」 質問2.どうすればエラーが発生することなくプログラムを実行できるようになるでしょうか? テストパソコンにオラクルクライアントが必要?それとも何かDLLの更新などが必要? もしおわかりの方いらっしゃいましたら教えて下さい。 よろしくお願いします。

  • VBにてEXE作成

    VBにてとあるシステムを開発しました。 SETUP.EXEを作成して遠隔地に配布したいのです。が SETUP.EXEを起動してインストールはできるのですが 印刷実行時にエラーが出てしまいます。 VBから実行は出力できます。 ディストリビューション ウィザードの使用方法が 悪いのでしょうか。 OS :Windows2000 TOOL:VB6.0 SP5,Spread3.0,ImputMan6.5J DB :ORACLE8.05

  • EXEで実行すると発生するORA:06413エラー

    VBからORACLEへ接続するプログラムを作っています。 VBのエディット画面から実行すると正常に動作するのですが、コンパイルを行いEXEから実行すると下記エラーが発生します。 「Fatal NI connect error 6413,」 以下のOpenDatabaseでエラーが発生しているところまでは突き止めたのですが なぜエラーとなるか、まったく検討がつきません。 Set objOr = CreateObject("OracleInProcServer.XOraSession") Set objDb = objOr.OpenDatabase(mstrSVN, mstrUID & "/" & mstrPWD, 0&) どんなささいな情報でもお持ちの方、よろしくお願いします。

  • VB6.0 exeファイルを作成すると動かなくなってしまいます。。。

    VB6.0で、RS232CのRTS、CTSを使用して、ONOFFスイッチを作成しました。 ONでデータ送信するプログラムを作成したのですが、VB開発環境上で 実行すると正常に作動するのですが、EXEファイルを作成して実行すると、232CのONOFFスイッチのところがうまく動かなくなってしまいます。 他のところはEXEファイルでも正常に動きます。 使用PCは同じPC上です。 何か解消法はありますでしょうか。 アドバイスをよろしくお願いいたします。

  • VB2005で作成したDLLの呼び出し方

    はじめまして、VB2005(.NET)初心者です。 現在、各プログラムを実行するためのメニュー プログラムを作成しています。 .net以前では、各プログラムをEXEで作成し API関数を利用し、メニューより実行させて いましたが、今回、各プログラムをEXEではなく dllで作成し実行する方法で作ることになりました。 各プログラムのdllを実行する方法がわかりません。 参考書等みてみましたが、見当たりません。 どのようにしていらっしゃるか教えて下さい。 宜しくお願いいたします。

  • AccessからOracleへのODBC接続

    現在、Oracleで作成したデータベースに接続して 検索するソフトを、Accessで作成してあります。 Oracleに接続をするのに、 ODBCを使用しているのですが、 最初依頼があったときは「Oracle8」のときだったので、 「Oracle8」のみ接続可能なプログラムが組んであり、 「Oracle10g」の入っているPCでは接続できないという問題が発生しました。 そこで、「Oracle8」と「Oracle10g」とも接続出来るように プログラムを書き換えたのですが、 現在は「Oracle11g」が最新になっていると思うので、 ゆくゆくはそれに対応しなければならないなあ、と思っています。 そうすると、Oracleがバージョンアップするたびに、 ソフトのプログラムを書き換えなくてはならなくなり、 効率的ではないな…と思いまして… Oracleのバージョンが違っていても、 自分のPCのOracleのバージョンを自動認識して、 AccessからOracleへ接続する方法はあるのでしょうか? ちなみに現在は、TableDefsコレクションを使用して、 まず、Oracle8で繋ぎにいき、それでエラーが起これば Oracle10gで繋ぎにいく、という処理を行っています。 【参考コード】 dim db as object dim tdf as object set db = CurrentDb set tdf = TableDefs("テーブル名") tdf.Connect = "(※テーブルのプロパティの説明のところに入る文)" tbf.RefreshLink (※ここが8と10gで違ってくる) よろしくお願いします。

  • VB .NETで作成したソフトが、他の端末動かない

    開発端末Aは、.net2005(vb)とInputMan for .NET 4.0Jがインストール済みです。 端末Bは、.net2005(vb)が入っていませんが、 .NET Framework2.0は、インストール済みです。 開発端末Aでは、実行ファイル(exe)を起動出来ます。 開発端末Aで作成した実行ファイル(exe)を端末Bで実行したが、アプリケーションエラー(Microsoft)になりました。 使用DBは、Oracle9i ODP.NETを使用 実行ファイルは複数ありますが、ボタンのみのexeは起動出来ましたがそれ以外ほとんどの実行ファイルは起動出来ません。 ビルド方法やFramework2.0など悪い点など確認事項など 何故動かないか考えられる事があれば教えてください。

  • SQL 実行時にエラー

    oracle10gをfedora10にインストールしてfedora eclipseにDBViewerをプラグインしてoracleに接続しています。 DBViewerでテーブルを作成しようとSQL文を実行してみるとエラーが出てテーブルが作成できません。 エラー内容 ORA-01031:insufficient privileges oracleサイトで検索してみますと権限不足ということなのですが・・・・ DBViewerは接続できているのを確認しEnterprise Managerも起動を確認しています。 DBViewerに接続する時のユーザの権限に問題があるのでしょうか。 よろしくお願いします。

  • oracleクライアントをインストール不要なexeは作成できる?

    oracleクライアントをインストール不要なexeは作成できる? oracle10gのクライアントをインストールしてvisual studio 2008でc++のプログラムを 作成しました。そのプログラムをほかのパソコンで起動したところoracleの dllがないとおこられてしまいます。結局そのパソコンにオラクルクライアントを インストールしましたが、オラクルクライアントのインストールを回避する ほうほうはありますか? たとえばJAVAであればJDBCのJARをコピーするだけでOK。おなじように EXEにORACLEのDLLを組み込むことはできませんか? (MFCのスタティックライブラリみたいに)

  • VBでの実行時エラー’424’について

    現在サーバのリプレースをおこなっております。 旧サーバ:Win NT Server 4.0 SP6 新サーバ:Win 2003 Server 旧サーバで稼動していたVBのexeを新サーバで動かそうとすると 「424 オブジェクトが必要です」というエラーになります。 exeはVB5.0で作成されたものです。 PG内でDAOを使ってOracleへ接続おり、その辺りが怪しいのかなと思うのですが、解決できず困っています。 同じような経験をされた方、DAO接続についてご存知の方、なにか情報ありましたらご教授いただけないでしょうか。

専門家に質問してみよう