2012-06-18 35 views
-2

當我嘗試添加連接時,它顯示如附件中所示的以下錯誤。 「無法打開物理文件。訪問被拒絕「。在數據連接中添加數據源時出錯

當我搜索它時,它建議將SQL Server帳戶添加到文件夾。然後,使用以下查詢,我發現該帳戶是「LocalSystem」。當我嘗試將「LocalSystem」添加到文件夾的ACL時,此類帳戶不可用。我們如何解決它並將連接添加到DBML?

注意:當我在C#程序中將DataReader與數據庫名一起使用時,它運行良好。

enter image description here

查詢中使用:

declare @sqlser varchar(20) 

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

@value_name='objectname', @[email protected] OUTPUT 


SELECT convert(varchar(30),@sqlser) 

enter image description here

工作的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(); 
      } 


     } 
+1

您是否嘗試過使用'sysinternals'來判斷文件是否被另一個進程使用? – bluevector

回答

0

的問題是有關數據連接。

在高級窗口中,當我檢查時,它正在嘗試./SQLExpress。我用「。」修改了它。

我重新啓動機器。我也停止了services.msc中的SQLExpress

Data Source=.;AttachDbFilename=C:\DevTEST\Databases\LibraryReservationSystem.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True