接続を追加しようとすると、添付ファイルに示されているように、次のエラーが表示されます。「物理ファイルを開くことができません。アクセスが拒否されました」。
私がそれについて検索したとき、それは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();
}
}