C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: 開発環境でエラーにならず実行環境でエラー (同一PC上)


(過去ログ 42 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■22107 / inTopicNo.1)  開発環境でエラーにならず実行環境でエラー (同一PC上)
  
□投稿者/ こげパン (5回)-(2008/07/15(Tue) 19:20:20)

分類:[C#] 

こんにちは。こげパンと申します。

早速の質問ですが、VS2008 C#で開発し、セットアッププロジェクトを利用してインストーラーまで作成し、
アプリケーションを実行しましたが、SQL Server 2005への接続部分と思われる部分で、
以下のエラーが表示されてしまいました。

「'System.Data.SqlClient.SqlConnection' のタイプ初期化子が例外をスローしました。」

しかし、開発環境ではこのエラーが表示されず、Debug/Rerease のいずれのモードでも正常に動作しております。
ですので、原因の特定にて困っております。

セットアップをした先は、開発しているPCそのものになります。
開発・セットアップ先のPCには、.NET Frameworkは 1.1〜3.5までがすべて導入されています。

何が原因かご存じの方、あるいはヒントをお持ちの方、
どうぞよろしくお願いいたします。


□開発/実行環境
Windows XP Pro SP3
VS2008 Dev C#
SQL Server 2005
.NET Framework 1.1/2.0/3.0/3.5 (1.1〜3.0はSP適用)

引用返信 編集キー/
■22121 / inTopicNo.2)  Re[1]: 開発環境でエラーにならず実行環境でエラー (同一PC上)
□投稿者/ ちゃっぴ (139回)-(2008/07/15(Tue) 21:11:15)
ちゃっぴ さんの Web サイト
SQL Native Client は?
引用返信 編集キー/
■22133 / inTopicNo.3)  Re[2]: 開発環境でエラーにならず実行環境でエラー (同一PC上)
□投稿者/ こげパン (6回)-(2008/07/15(Tue) 23:25:54)
2008/07/15(Tue) 23:27:10 編集(投稿者)

No22121 (ちゃっぴ さん) に返信
> SQL Native Client は?

ご返答ありがとうございます。
早速SQL Native Client も導入してみましたが、状況は改善されませんでした。
(どうやら、これはすでに導入されていたようでした)

開発も、作成したアプリのインストールも、同一PC上でのことなので、
片方だけエラーになるというのが今ひとつわからない点なのです。
さらにいろいろ調べながら考えてみたのですが、

○エラーの意味からすると、おそらくエラー対象になっているモジュールファイルが
見つからないということなのだと推測しているのですが、
なぜ、開発環境では参照ができて、インストールした実行ファイルからは参照ができないのか。

○あるいは、セットアッププロジェクト作成時には、何かしらの手続きが必要だとするならば、
セットアッププロジェクトが、依存関係を自動では拾ってはくれないのか。

という疑問がでてきました。
このあたりについても、何か情報等をお持ちの方がいらっしゃいましたら、
ぜひご提供いただけないでしょうか。

引き続き、どうぞよろしくお願いいたします。

#もしかしたら、開発環境の構築にどこか失敗しているのでしょうか。
#最悪、環境の再インストールになるかな・・・
引用返信 編集キー/
■22138 / inTopicNo.4)  Re[3]: 開発環境でエラーにならず実行環境でエラー (同一PC上)
□投稿者/ なちゃ (148回)-(2008/07/15(Tue) 23:42:57)
「'System.Data.SqlClient.SqlConnection' のタイプ初期化子が例外をスローしました。」
こいつのInnerExceptionに何か入っていませんか?

引用返信 編集キー/
■22139 / inTopicNo.5)  Re[4]: 開発環境でエラーにならず実行環境でエラー (同一PC上)
□投稿者/ ロック (50回)-(2008/07/15(Tue) 23:43:57)
> ○エラーの意味からすると、おそらくエラー対象になっているモジュールファイルが
> 見つからないということなのだと推測しているのですが、
> なぜ、開発環境では参照ができて、インストールした実行ファイルからは参照ができないのか。

SQL Serverへの接続文字列は、プログラム埋め込みですか?
もし、アプリケーションファイルに記述しているなら、*****.configのファイルの
存在を確認しみると良いかもしれません。
プロジェクト中では、App.Configという名で入っていたはずです。
#実験できるマシンが手元に無いので、そのようなエラーが出るかは未確認です
引用返信 編集キー/
■22145 / inTopicNo.6)  Re[5]: 開発環境でエラーにならず実行環境でエラー (同一PC上)
□投稿者/ こげパン (7回)-(2008/07/16(Wed) 01:02:24)
2008/07/16(Wed) 01:04:57 編集(投稿者)

早速の情報ありがとうございます。

No22138 (なちゃ さん) に返信
> 「'System.Data.SqlClient.SqlConnection' のタイプ初期化子が例外をスローしました。」
> こいつのInnerExceptionに何か入っていませんか?

エラーメッセージを、もう少し詳細にはき出してみましたところ、以下のような感じになりました。
うーん、どうも先に進んではいないような気がします(汗)

ex.Message: 'System.Data.SqlClient.SqlConnection' のタイプ初期化子が例外をスローしました。
ex.InnerException: 'System.Data.SqlClient.SqlConnectionFactory' のタイプ初期化子が例外をスローしました。
ex.Source: System.Data
ex.StackTrace:
場所 System.Data.SqlClient.SqlConnection..ctor()
場所 System.Data.SqlClient.SqlConnection..ctor(String connectionString)
場所 Lib.DB.SqlServerDriver.GetConnection()
場所 Lib.DB.DataAccess.Select(SqlParameterObject objSqlParameter)

また、さらにInnerExcepsionを追いかけてみると、
'System.Data.SqlClient.SqlConnectionFactory'
→ "System.Data.SqlClient.SqlPerformanceCounters"
→ 構成システムを初期化できませんでした。"
→ 認識されない構成セクション Log です。 (C:\Program Files\app\app.config line 3)

と続いて、ここでインスタンスが終わっていました。
もしかすると、app.config 内の、<Log>セクションに問題が?
このあたりも、調べてみたいと思います。


No22139 (ロック さん) に返信
> SQL Serverへの接続文字列は、プログラム埋め込みですか?

接続情報は、.configファイルに出力/保存をしているのですが、
このアプリを最初に起動したときに(=.configファイル内に接続情報がないとき)、
接続情報を入力するフォームを作成してありまして、
そこでサーバー名やDB名などの情報を入力する方法で確認しております。
このフォーム上ではフォーム内で接続文字列が動的に作成されており、
この状態で、開発環境側では正常に動き、インストール先では掲題のエラーとなります。
ですので、接続文字列自体には問題はないと考えておりました。

あるいは、もう少し留意すべきことがありますでしょうか。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -