0

mdf ファイルは App_data フォルダーの下で正しく機能していますが、SQL サーバーにアタッチした後、asp.net ページを実行すると次のエラーが発生します。

ユーザーの既定のデータベースを開けません。ログインに失敗しました。ユーザー 'Domain\myUserName' のログインに失敗しました。

[編集] 詳細情報; SQL データ ソースと接続文字列。

<asp:SqlDataSource
        id="srcFiles"
        ConnectionString="Server=.\SQLExpress;Integrated Security=True;
            AttachDbFileName=|DataDirectory|FilesDB.mdf;User Instance=True"
        SelectCommand="SELECT Id,FileName FROM Files"
        InsertCommand="INSERT Files (FileName,FileBytes) VALUES (@FileName,@FileBytes)"
        Runat="server">
        <InsertParameters>
            <asp:ControlParameter Name="FileName" ControlID="upFile" PropertyName="FileName" />
            <asp:ControlParameter Name="FileBytes" ControlID="upFile" PropertyName="FileBytes" />
        </InsertParameters>
    </asp:SqlDataSource>
4

3 に答える 3

0

Visual Studioを使用していて、その方法でローカルデータベースを作成していて、「正しい」接続文字列が何であるかを知りたい場合は、次のようにします。

1)サーバーエクスプローラーを開きます

2)[データ接続]でデータベースを選択し、[プロパティ]を選択します

3)「接続文字列」プロパティを確認します。

それはあなたが使わなければならないものです。

あなたの場合、「データソース」パラメータを指定していないため、正しくない可能性があります。有効な接続文字列の例を次に示します。

データソース=。\SQLEXPRESS;AttachDbFilename = | DataDirectory | \ Database1.mdf; Integrated Security = True; User Instance = True

于 2011-05-17T08:38:48.320 に答える
0

正しい sql ユーザー名とパスワードを指定していることを確認するか、データベースへの「Domain\myUserName」アクセスを許可することができます。以下の接続文字列を確認してください。

接続文字列のサンプル

于 2009-11-19T16:02:45.710 に答える
0

MDF ファイルがフォルダー内にあるだけで、SQL Server に接続されていない場合、MDF ファイルがどのように「正しく機能する」のかわかりません。「正しく動作する」とはどういう意味ですか?

とにかく、SQL Server のバージョンは何ですか? sp_defaultdb を使用して、そのログインのデフォルト データベースを、存在することがわかっている別のデータベースに設定できます。

EXEC sp_defaultdb @loginame = 'Domain\myUserName', @defdb = 'tempdb';

TechNet: sp_defaultdb

SQL Server 2005 または 2008 を使用している場合は、代わりに ALTER LOGIN を使用する必要があります。

ALTER LOGIN [Domain\MyUserName] SET DEFAULT_DATABASE = tempdb;

TechNet : ログインの変更

于 2009-11-19T16:10:24.260 に答える