ASP.NET SQLプロバイダー
-
24-10-2019 - |
質問
問題が発生しました。 VS 2010を使用してASP.NETで新しいプロジェクトを作成するとき、それはSQL Expressを作成したデフォルトの接続文字列を備えたWeb.Configです。しかし、私はSQL Expressをインストールしていません。デフォルトのAspNetsQLProviderを変更するには、サービスデータベースとして全力SQLサーバーのインスタンスを使用するにはどうすればよいですか?また、ASP.NETプロジェクトのテンプレートを変更して、接続でプロジェクトを作成するにはどうすればよいですか?
解決
あなたはこれを意味します:
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
これをSQL Serverで動作するものに変更するには、次のように見える必要があります。
<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ファイルのコピーを取ります(元の場所をどこかにバックアップすることもできます!)。その中には、SQL Express Connection Stringを備えたWeb.Configファイルがあります。 SQL Server文字列に変更してから、ZIPファイルを再組み立てします。
最後のステップは、VSテンプレートキャッシュを再構築することです - コマンドラインから(VSコマンドプロンプトはおそらく最適に機能します)、実行 devenv /installvstemplates
. 。見る ここ 詳細については。
他のヒント
同様の問題がありました。 2008年VSで作成されたWebサイトを作成し、Webパーツを試してみたいと思いました。ページにいくつかを追加してから、取得を開始します。
sqlexpressデータベースファイル自動作成エラー:
接続文字列は、アプリケーションapp_dataディレクトリ内のデータベース>場所を使用して、ローカルSQL Server Expressインスタンスを指定します。
aspnet_regsql.exe(wizard、in .net frameworkフォルダー)を実行してデータベースを作成し、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>