2011-10-18 17 views
4

私たちのサイトが2010年7月にオンラインになってから同じConnectionStringを使用していて、データベースに接続して対話することは決してありませんでした。
2011年7月以降、私はランダムに "ConnectionStringプロパティが初期化されていません"というエラーが発生し続けます。ランダムエラー500 "ConnectionStringプロパティが初期化されていません"

  • どのようにバグが発生しますか? (私は今日それが数時間以上であることに注意が、数時間から数週間まで)私たちのサイトには、データベースの作業罰金とクエリを意味し、可変の期間中に正常に動作

、人々は、ログインすることができますそして、ある時点で、connectionStringエラーが発生します。
私たちのサイトはアクセスできなくなり、私たちがアクセスしようとしているどのページでもこのエラーが返され続けます。
時には、10〜15分後、私たちのサイトはオンラインに戻って、エラーが再びポップアップするまでうまく動作します。しかし、ほとんどの時間は、私はそれが再び動作させるために3次のいずれかの方法を使用する必要があります。

1)保存のWeb設定ファイルを再度、追加することなく、/ IISでサイトを停止と開始)何
2を変更
3)サーバのリブート

開発サイトもあります。しかし、それは決して私はこのランダムなエラーを投げた。当社の開発現場や生産現場の間の唯一の違いは、当社のサーバー上で2010年7月以降に変更された何のWeb Configで異なるデータベース、SQLユーザーと真偽モード(生産= Windowsの開発=フォーム)

  • ですか?

.NET Frameworkがサイトの物理ディレクトリは、基本的には(2011年6月以来、同じサーバー上の別のパーティションに、元のIISディレクトリからちょうどカットを移動された2011年3月
に3.5から4にアップグレードされました/ siteディレクトリの貼り付けとIISでのアプリケーションの物理パスの変更)。
Windows Server 2008の更新プログラムは、ある場合はいつでも適用されます。

  • 私はこれを修正しようとしましたか?

1)最初に私のサイトディレクトリをIISのinetpub/wwwrootに戻してみました。それは何も変わらなかった。
2)開発サイトと同じディレクトリ権限を本番サイトに追加しようとしました。まだ何も。
3)2つのアプリケーションプールの開発/制作を比較しましたが、違いはありません。
4)もちろん、私は多数のサイトを検索して、誰かがこの問題に遭遇したかどうかを見つけました。
Web.config - ConnectionString property has not been initialized
しかし、「私のWebルートフォルダ全体にランダムに適用されたアクセス許可」を確認する方法はわかりません。ホームページ上

  • スタックトレースエラーが occurrs:それはポップアップ表示時にエラーが任意のページに関係しているので
at System.Data.SqlClient.SqlConnection.PermissionDemand() 
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
at System.Data.SqlClient.SqlConnection.Open() 
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 
at Database.listeCategories(enuTypeCategorie typeCategorie, enuOrdre ordre, enuActif actif, Boolean withFirstRow, Boolean libTous) 
at user_controls_criteresAnnonce.set_secteur(Int32 value) 
at user_controls_criteresAnnonce.initValues() 
at _default.Page_Load(Object sender, EventArgs a) 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

、ソースは常に異なっています。

  • システム情報

サイト(開発・生産が)IIS 7でのWindows Server 2008 SP2上で実行されている
データベースは、SQL Server 2005の
.NETフレームワークの下で実行にされます4(ASPのバージョンはサーバーマネージャーで記述されています:ASP.NET 4.0.30319.0)。

<connectionStrings> 
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name; User=login; password=pass" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

し、任意のデータベース接続の試行の前に、たconnectionStringは、この(CONNは、クラスで宣言されている)のようなSqlConnectionオブジェクトに影響されます::

のConnectionStringは、次のパターンを使用してWeb設定ファイルに保存されています

さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。私はこれで失われています...どんな助けも喜んで受け入れられるでしょう。
ありがとうございます!

敬具、
ケビン

+0

ConfigurationManager.ConnectionStrings( "BosstobossDbBase")が呼び出されていますか?コード全体にConnectionStringが散在していますか?それともカプセル化しましたか? – Aheho

+0

FYI web.configファイルを保存すると、アプリケーションプールがリサイクルされています。メモリ容量の問題がありますか? –

答えて

0

私はこれにweb.configファイルを変更し、それが助けかどうかを確認したい:

<connectionStrings> 
    <remove name="BosstobossDbBase" /> 
    <add name="BosstobossDbBase" connectionString="Server=server_ip; Database=database_name;User=login; password=pass" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
+0

ありがとうございます。私はこれを試して、問題が依然として続くならあなたに戻ってきます。 – Kevin

+0

同じ現象(サイトが数時間働いた後、自分の投稿に記載されている3つの方法のうちの1つを実行するまでアクセスできない)で、夜間にconnectionStringエラーが発生しました。 – Kevin

0

を私は長い間、この同じ問題に直面していました。 ASP.Net v2.0のアプリケーションが正常に動作していましたが、突然このエラーが発生しました。

私は、以下の方法でそれを解決:

オープンinetmgrをメインサーバ上でクリックしてください。 機能ビューで、ConnectionStringsをクリックします。 私の場合、すべてのアプリケーションによって継承された2つの接続文字列がありました。 文字列の1つが無効であることが判明し、削除するとすべてが正常に戻りました。

そのマシンのユーザーの1人が、その文字列をいくつか戻してしまい、すべてのアプリケーションが破損していました。

これが役に立ちます。

関連する問題