1

ウィザードを使用して、開発目的で SQL Server R2 にデータベースのコピーを作成しました。その部分はうまくいきました。私のコードでは、web.config の接続文字列を新しいデータベースを指すように変更しました。

<add name="myConnectionString" connectionString="Data Source=\dev;Initial Catalog=live_DEV;Integrated Security=True" providerName="System.Data.SqlClient"/>
<!--<add name="liveConnectionString" connectionString="Data Source=\dev;Initial Catalog=live;Integrated Security=True" providerName="System.Data.SqlClient"/>-->

セキュリティ上の理由からサーバーの実際の名前などを変更しましたが、形式は同じです。ご覧のとおり、古いデータベースをコメントアウトしてコピーに変更しました。

私はVS2010を使用しており、すべての参照を古い接続から開発コピーに変更しました:

using (SqlConnection connIncident_TrackerDB = new SqlConnection(@"Data Source=\dev;Initial Catalog=live_DEV;Integrated Security=True"))
    {

すべて [USE live_DEV] をヘッダーとして持つ開発コピーのストアド プロシージャを確認しました。コードをきれいにして再構築しました。ASP.NET 開発サーバーを再起動して実行しました。

データベースを確認すると、ライブコピーと開発コピーの両方が更新されています。私は何が欠けていますか?

ありがとう、ポール

4

1 に答える 1

0

接続文字列がハードコードされているコードのどこかを見逃したようです。私は2つのことを提案します

最初に権限を変更して、本番環境へのアクセスを許可しないようにします。これにより、誤って本番環境をテスト コードで更新することがなくなります。また、本番環境が更新されている場所でアプリが壊れる原因になります (これが問題の原因につながる可能性があります)。

次に、ハードコーディングされたすべての接続文字列をアプリから削除し、web.config の接続文字列のみを使用します

于 2012-11-26T13:03:27.437 に答える