0

ASP.NET アプリケーションには、XSD ファイルと web.config ファイルがあります。

構成ファイル内には、次のように指定された接続文字列があります。

<add name="DbConnectionString" connectionString="Data Source=sqldb;Initial Catalog=TestDB;Persist Security Info=True;User ID=user;Password=password;" providerName="System.Data.SqlClient"/>

また、XSD コードビハインド内には、テーブル アダプターの選択コマンドごとに次の行 (自動生成) があります。

<DbSource ConnectionRef="DbConnectionString (Web.config)" DbObjectName="dbo.CUSTOMER" ...

ただし、デザイナーでテーブル アダプター クエリを開いて SQL を変更すると、コード ビハインドの行が次のように変更されます。

<DbSource ConnectionRef="DbConnectionString (Web.config)" DbObjectName="TestDb.dbo.CUSTOMER" ...

DbObjectName で指定したテーブル名の先頭に「TestDb」を追加します。

web.config で接続文字列を「LiveDb」に変更したとしても、この Web サイトをライブ システムに公開すると、TestDB からデータを取得しようとするため、これは明らかに間違っています。

誰かがこの動作に遭遇したことがありますか? XSD デザイナーがデータベース名のプレフィックスをテーブルに付けないようにする方法はありますか?

ありがとう

4

1 に答える 1

1

異なるデータベースからデータセットにテーブルを追加するときに発生します。テーブルまたはクエリをデータセットに追加するときは、別のデータベースまたは接続文字列をフェッチしないでください。データセットに追加されたすべてのテーブルを確認してください。次に、現在のデータセットに同じ問題があるテーブルを再作成します。データセット テーブルの追加中に接続名を変更しないでください。Web 構成で指定されたものと同じ接続文字列を使用します。

ありがとう

于 2013-02-20T07:22:48.317 に答える