1

データベースのバックアップをアップロードしましたが、正常に動作しています。しかし、ASP.NET 構成から新しいユーザーを作成したので、ユーザー情報が ASPNETDB に保存されます。

既に MVS からデータベースを公開し、それを M SQL Server Management Studio 2008 で開いてバックアップを作成しましたが、その中に ASPNETDB が見つかりません。

私の質問は:

  1. このデータベースは、データベースをアップロードするときに自動的にアップロードされませんか? Web サイトを公開しても表示されません。

  2. そうでない場合、このユーザーへの認証を使用しているため、自分のサイトにログインできるように ASPNETDB をアップロードするにはどうすればよいですか?

4

2 に答える 2

0

メンバーシップ API を使用していると思います。

SQL Server Express Edition を搭載したマシンで ASP.NET を使用している場合、最初のユーザーを作成するときに、Membership API の基礎となるデータ ストアに必要なデータ ストアが自動的に作成されます。この機能は、SqlMembershipProvider を通じて提供されます。SqlMembershipProvider は、ASPNETDB.MDB という Web サイトの App_Data 特別なディレクトリに新しいデータベースを自動的に作成します。このデータベースは、ユーザー情報、役割情報、ユーザーと役割の割り当てなどを保存および管理するために必要な完全なスキーマを実装します。

簡単に確認できます。web.config には、次のようなものが表示されます。

<connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
      providerName="System.Data.SqlClient" />
 </connectionStrings>

したがって、このデータベースは Web サイトと一緒にアップロードされているはずです。

独自のデータベースに aspnetdb または必要なテーブルを作成する場合は、このチュートリアルを検討してください (これは良い方法です)。

ここでの同様の議論にも興味があるかもしれません。さらに、SQL Server Management Studio でこの .mdf データベースを取得したい場合は、ここでデータベースをアタッチする方法を学習できます。

于 2011-07-12T13:12:38.007 に答える
0

これには多くのことが考えられるため、ここでいくつかの仮定を立てて説明します。

仮定 1 (接続文字列の問題)。ローカルSQLサーバーで実行されているデータベースのユーザー資格情報は、展開先のサーバーで有効である可能性があります(世界の道のようです)リモートの「公開」の資格情報を使用してリモートデータベースに接続してみてくださいWeb サイト構成ファイルのコピー。(接続文字列)

仮定 2 (パブリッシュ設定が正しくない)。Visual Studio内から「公開」オプションを使用すると、私の知る限りWebサイトを展開するだけですが、データベースも展開するように構成できると言う人もいます。

Visual Studio のサーバー エクスプローラーに移動して実行しない場合は、開発マシンで変更 (たとえば、aspnet データベースにテーブルを追加) を行ってから、パブリッシュを使用してリモート サーバーにその新しいテーブルが表示されるかどうかを確認することをお勧めします。データベースを右クリックして「プロバイダーに公開」をクリックしてウィザードを実行すると、データベース全体をスクリプトファイルにプッシュしてから、リモートデータベースで手動で実行する傾向があります(最もクリーンなオプションのようです)。

仮定 3 (データベースはサーバー上にも存在しますか)。私はここで間違っている可能性がありますが、あなたが言っていることから、データベースではなくアプリケーションをサーバーに公開したように聞こえます...その結果、いくつかの素敵な黄色のサーバーエラーが発生します.

存在しない場合はデータベースが存在することを確認します... 仮定 2 で提案されているとおりに実行し、データベースを手動でプッシュします。

于 2011-07-12T13:18:22.617 に答える