問題が発生しました。VS 2010を使用してASP.NETで新しいプロジェクトを作成する場合、SQLExpressに関するデフォルトの接続文字列が作成されたweb.configです。しかし、SQLExpressをインストールしていません。フルウェイトSQLServerのインスタンスをサービスデータベースとして機能するようにデフォルトのAspNetSqlProviderを変更するにはどうすればよいですか?また、ASP.NETプロジェクトのテンプレートを変更して、接続を使用してプロジェクトを作成するにはどうすればよいですか?
2 に答える
あなたはこれを意味します:
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
これをSQLServerで機能するものに変更するには、次のようにする必要があります。
<add name="ApplicationServices"
connectionString="data source=ServerName;Initial Catalog=DatabaseName"
providerName="System.Data.SqlClient" />
ここで、DatabaseNameはおそらくaspnetdbです。Windows認証(この場合Integrated Security
、元の接続文字列から要素をコピーできます)を使用するか、SQL Server認証(ユーザー名とパスワードの組み合わせを使用する)を使用するかにかかわらず、何らかの形式の認証が必要になります。connectionstrings.comには、接続
文字列の作成に関する優れた情報があります。
今後のプロジェクトでこれを修正するには、Webプロジェクトのテンプレートを変更する必要があります。C#Webテンプレートが保存されているフォルダーを見つけます(私にとってはこれですC:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033
。WebApplicationProject40.zip
ファイルのコピーを取ります(元のファイルをどこかにバックアップすることもできます)。その中には、次のようなweb.configファイルがあります。 SQLExpress接続文字列。SQLServer文字列に変更してからzipファイルを再構築します。
最後の手順は、コマンドラインからVSテンプレートキャッシュを再構築することです(VSコマンドプロンプトがおそらく最適に機能します)。を実行しdevenv /installvstemplates
ます。詳細はこちらをご覧ください。
私も同じような問題を抱えていました。VS 2008で作成されたWebサイトがあり、Webパーツを試してみたかった。ページにいくつか追加してから、次の情報を取得し始めました。
SQLExpressデータベースファイルの自動作成エラー:
接続文字列は、アプリケーションのApp_Dataディレクトリ内のデータベースの場所を使用してローカルのSQLServerExpressインスタンスを指定します。
aspnet_regsql.exe(.Net Frameworkフォルダー内のwizard)を実行してデータベースを作成し、次に接続文字列をweb.configに追加しました。
<configuration>
<connectionStrings>
<add name="aspnet_membership" connectionString="Data Source=localhost; Initial Catalog=aspnetdb; Integrated Security=SSPI;"/>
</connectionStrings>
</configuration>
次に、これをweb.configに追加しました。
<configuration>
<system.web>
<webParts>
<personalization defaultProvider="SqlPersonalizationProvider">
<providers>
<add name="SqlPersonalizationProvider"
type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
connectionStringName="aspnet_membership"
applicationName="/" />
</providers>
<authorization>
<deny users="*" verbs="enterSharedScope" />
<allow users="*" verbs="modifyState" />
</authorization>
</personalization>
</webParts>
</system.web>
</configuration>