- PR -

C#,アプリケーションの起動

投稿者投稿内容
beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-08 13:51
 こんにちは。Windows Visual Studio.NET 2003でアプリケーションの開発を行っています。言語はC#です。『ボタンをクリックすると別のアプリケーションを起動する』というプログラムを作って実行したのですが

 例外 'System.Data.SqlClient.SqlException'がSample.exeで発生しました。

というMessageが表示され、デバッガを選択してデバッグするかどうか聞かれます。Processクラスのインスタンスを作成してアプリケーションを起動しているのですがうまくいきません。何か解決するためのアドバイスを頂ければと思っています。お願いします m(_ _)m
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-08 14:43
引用:

beckさんの書き込み (2004-06-08 13:51) より:
 こんにちは。Windows Visual Studio.NET 2003でアプリケーションの開発を行っています。言語はC#です。『ボタンをクリックすると別のアプリケーションを起動する』というプログラムを作って実行したのですが

 例外 'System.Data.SqlClient.SqlException'がSample.exeで発生しました。

というMessageが表示され、デバッガを選択してデバッグするかどうか聞かれます。Processクラスのインスタンスを作成してアプリケーションを起動しているのですがうまくいきません。何か解決するためのアドバイスを頂ければと思っています。お願いします m(_ _)m


 「うまくいかない」というのが、「System.Data.SqlClient.SqlExceptionがスローされる」にかかるのだろうと思いますが、「Processクラスのインスタンスを作成」と、SqlExceptionが結びつきません。そこのところをつないでください。
#ボタンに対応するアプリケーションへのパスをSQL Serverに格納している?
Qoo
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 121
投稿日時: 2004-06-08 15:01
こんにちは。

メッセージに表示されている、Sample.exe は起動している別のプログラム
でしょうか?
Sample.exe のソースがあるようであれば、そちらを調べる方がよいかも
しれません。(手がかりがあるやも。。。)
beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-08 15:21
 Jittaさん、Qooさん、早速の返事ありがとうございますm(_ _)m返事が送れました。えっと、ここで訂正したいのですが、最初のスレで言っていたProcessクラスのインスタンスは作成していませんでした。この例外が発生したのは

 Process P = Process.Start(@"C:\フォルダ\Sample\bin\Debug\Sample); 

 というように、アプリケーションを指定して実行した結果先ほど述べた例外が発生しました。説明する内容を勘違いしてしまい申し訳ありませんでした。
 Jittaさんが質問されたSQL serverにパスを格納していませんでした。Qooさんからいただいた指摘についてですが、起動したいアプリは全く正常に動くんですよ(汗)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-08 15:46
引用:

beckさんの書き込み (2004-06-08 15:21) より:
えっと、ここで訂正したいのですが、最初のスレで言っていたProcessクラスのインスタンスは作成していませんでした。この例外が発生したのは

 Process P = Process.Start(@"C:フォルダSamplebinDebugSample); 

 というように、アプリケーションを指定して実行した結果先ほど述べた例外が発生しました。説明する内容を勘違いしてしまい申し訳ありませんでした。
 Jittaさんが質問されたSQL serverにパスを格納していませんでした。Qooさんからいただいた指摘についてですが、起動したいアプリは全く正常に動くんですよ(汗)


Process P = Process.Start(アプリケーションパス); 
の行で、System.Data.SqlClient.SqlExceptionが発生しているのですか?Process.Start(String)メソッドで発生する例外は、MSDNによると、"ArgumentException"、"Win32Exception"、"ObjectDisposedException"で、"SqlException"は入っていないのですが。もちろん、書いてある以上の例外が発生しえるのですが、それでもSqlExceptionが発生する要因を思いつきません。いったい、どういう処理をしようとして、SqlExceptionが発生しているのでしょう?また、メッセージの中にもっと詳しい説明があったはずです。それらも転記してください。
beck
常連さん
会議室デビュー日: 2004/04/14
投稿数: 24
投稿日時: 2004-06-08 16:12
Jittaさん、ご返答ありがとうございます。確かにこの例外は発生しないみたいですね。でてくるMessageはボタンをクリック後、

--------------------------------------------------------------------------------
Just In Timeデバッグ
--------------------------------------------------------------------------------
例外 'System.Data.SqlClient.SqlException'がSample.exeで発生しました。

可能なデバッガ
-----------------------------------------------
| 新しいインスタンス Microsoft CLR Debagger 2003 |
| 新しいインスタンス Visual Studio .NET 2003 |
-----------------------------------------------
選択したデバッガを使用してデバッグしますか? 
     はい / いいえ
--------------------------------------------------------------------------------
表示されたMessageは以上です。ここで「はい」と答えると、パスで指定したアプリケーションをデバッグします。このときに例外が発生していました。Fillをかけているところで例外が発生しているんですが、Visual Studio .NET 2003を起動して、プロジェクトから開き、そのプログラムをデバッグしても正常に動きました。どうしてこのような事が起きたかは分かりませんでした。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-08 17:05
引用:

beckさんの書き込み (2004-06-08 16:12) より:

表示されたMessageは以上です。ここで「はい」と答えると、パスで指定したアプリケーションをデバッグします。このときに例外が発生していました。


 だったら起動はできているじゃないですか 起動できていないなら、Process.Startのあるプログラムが対象になるはずですよね。例外が発生している対象はきっちりと突き止めてくださいね。または、誤解されないように、書き方は気をつけてください。
#困っているのはあなたで、誤解されて困るのもあなたですよね?

 Sample.exeの方を単独で起動した場合は、この例外が発生しない、ということですか?ソースはあって、コンパイルできるんですね?では、その例外が発生しているFillメソッド近辺をtry-catchで囲み、Exception型でキャッチしてみてください。catchブロックで、Exception.Messageを、メッセージ表示でもさせて、本当の例外メッセージを取得してください。
Qoo
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 121
投稿日時: 2004-06-08 17:06
こんにちは。

例外の発生する箇所で try 〜 catch を記述したらエラーの詳細がわかるかも。。。

スキルアップ/キャリアアップ(JOB@IT)