0

更新された質問

ローカル MSSQL サーバーにデータ ソースを指定するにはどうすればよいですか?

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(localhost)\SQLEXPRESS;Initial Catalog=bladb;Integrated Security=true" providerName="System.Data.SqlClient" />
</connectionStrings>

何を試しても、「データソースが見つかりません」という例外が発生し続けます。

4

4 に答える 4

2

うん。アプリケーションは、データベースの場所、ユーザー名、および認証に使用するパスワードを知っている必要があります。

あなたはこれをマジックストリングと呼んでいますが、アプリケーションがデータベースのIPアドレス、ユーザー名、およびパスワードを自動的に知ることができる場所について、他にどのようなマジックメソッドを考えているのかわかりません。

ほとんどの場合、データベースをセットアップすると、この接続文字列が作成されるため、コピーして貼り付けるだけで済みます。これは1回限りのことなので、それほど大きな問題にはなりません。

于 2012-12-28T20:39:18.907 に答える
1

localhostを括弧で囲まないでください。(local)またはのためだけです(LocalDb)\v11.0。ローカルホストの場合はDataSource=localhost、デフォルトの名前のないローカルデータベース(存在する場合は必ずしもそうではありません)、またはDataSource=localhost\SQLExpressSQL-ServerExpressのデフォルトの名前付きインストールの場合です。

詳細については、 http://www.connectionstrings.com/を参照してください。

于 2012-12-28T22:27:12.097 に答える
1

web.configで接続文字列セクションを次のように定義した場合

<connectionStrings configSource="connections.config"/>

接続文字列のみを含む別の構成ファイルを指します。

次に、以下のコードを介してコードに接続文字列を追加できます。これの利点は、Webサイトを再起動する必要がないことです。幸せな日々...

 using (StreamWriter writer = File.CreateText(@"c:\code\AVIVA_site\connections.config"))
            {
                writer.WriteLine("<connectionStrings>");
                for (int i = 0; name.Length > i; i++)
                {
                    writer.WriteLine("<add name=\"{0}\" connectionString=\"{1}\" providerName=\"{2}\" />", name[i], conString[i], provider[i]);
                }
                writer.WriteLine("</connectionStrings>");
                writer.Close();
            }
于 2012-12-28T20:44:35.957 に答える
0

神の愛のために...

if (!WebSecurity.Initialized)
{
    WebSecurity.InitializeDatabaseConnection(
        "DefaultConnection",
        "Users",
        "UserId",
        "UserName",
        true);
}

「DefaultConnection」を追加する代わりに、代わりに Configuration.ConnectionStrings["DefaultConnection"] を追加しました。

問題は web.config の接続文字列ではなく、initializedatabase 呼び出しにありました...

于 2012-12-28T21:31:15.097 に答える