-2

接続を追加しようとすると、添付ファイルに示されているように、次のエラーが表示されます。「物理ファイルを開くことができません。アクセスが拒否されました」。

私がそれについて検索したとき、それはSQLServerのアカウントをフォルダーに追加することを提案します。次に、次のクエリを使用して、アカウントが「LocalSystem」であることがわかりました。フォルダのACLに「LocalSystem」を追加しようとすると、そのようなアカウントは利用できません。それを解決してDBMLへの接続を追加するにはどうすればよいですか?

注:C#プログラムでデータベース名を指定してDataReaderを使用した場合、正常に機能しました。

ここに画像の説明を入力してください

使用したクエリ:

declare @sqlser varchar(20)

EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', 
@key='SYSTEM\CurrentControlSet\Services\MSSQLSERVER',

@value_name='objectname', @value=@sqlser OUTPUT


SELECT convert(varchar(30),@sqlser)

ここに画像の説明を入力してください

作業中のC#プログラム:

    SqlDataReader rdr = null;
        SqlConnection con = null;
        SqlCommand cmd = null;

        try
        {
            // Open connection to the database
            string ConnectionString = "server=D088DTRV;integrated security=true; database=BankAccount";

            con = new SqlConnection(ConnectionString);
            con.Open();


            string CommandText = "SELECT * FROM Account";
            cmd = new SqlCommand(CommandText);
            cmd.Connection = con;


            rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                string test = rdr["AccountType"].ToString(); 
            }


        }
4

1 に答える 1

0

問題はデータ接続に関連していました。

詳細ウィンドウでチェックしたところ、。/SQLExpressを試していました。「。」で変更しました。

マシンを再起動しました。また、services.mscでSQLExpressを停止しました

 Data Source=.;AttachDbFilename=C:\DevTEST\Databases\LibraryReservationSystem.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
于 2012-06-19T14:55:18.577 に答える