【发布时间】:2012-06-18 09:52:07
【问题描述】:
当我尝试添加连接时,它显示以下错误,如附件所示。 “无法打开物理文件。访问被拒绝”。
当我搜索它时,它建议将 SQL Server 的帐户添加到该文件夹中。然后,使用以下查询,我发现该帐户是“LocalSystem”。当我尝试将“LocalSystem”添加到文件夹的 ACL 时,这样的帐户不可用。我们如何解决它并添加到 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();
}
}
【问题讨论】:
-
您是否尝试过使用
sysinternals来确定文件是否正在被另一个进程使用?
标签: c# .net linq sql-server-2008 linq-to-sql