建立与本地SQL Server数据库文件的连接

问题描述:

我试图建立与位于D驱动器上的SQL Server数据库文件AdventureWorksDW2008R2_Data.mdf的连接。建立与本地SQL Server数据库文件的连接

我已经使用的连接字符串:

Server=.\SQLExpress;AttachDbFilename=D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW2008R2_Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;" 

但是,我无法建立连接。

我的目标是从数据库中检索特定部门的员工人数(表中的员工和部门都存在于数据库中)。

任何人都可以突出显示或建议允许我这样做的步骤?

+3

什么是显示的错误? – 2012-03-21 11:43:25

+0

用户实例功能已弃用 - 您应尽量避免它。你不能将'.mdf'文件附加到正在运行的SQL Server实例,并使用它的逻辑数据库名连接到它,而不是摆弄物理.MDF文件名。 – 2012-03-21 12:37:32

如果您使用Sql Server Management Studio中的示例DataBase,那么我将无法工作。如果您正在工作,请关闭您的Sql Management Studio ..

将mdf文件添加到d:\中的新文件夹并尝试以下操作: Data Source =。\ SQLEXPRESS; AttachDbFileName = d:\ data \ Customers.mdf;集成安全性= True;用户实例= True 可能是读取路径存在问题。

使用下面的代码进行连接:

public static void Main() 
     { 
      try 
      { 
       string connectString = 
        "Server=IRIS-CSG-108\\SQLEXPRESS;" + 
        "Integrated Security=true"; 
       SqlConnectionStringBuilder builder = 
        new SqlConnectionStringBuilder(connectString); 
       Console.WriteLine("Original: " + builder.ConnectionString); 
       Console.WriteLine("AttachDBFileName={0}", builder.AttachDBFilename); 

       builder.AttachDBFilename = @"E:\\TCMS.mdf"; 
       Console.WriteLine("Modified: " + builder.ConnectionString); 

       using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) 
       { 
        connection.Open(); 
        // Now use the open connection. 
        Console.WriteLine("Database = " + connection.Database); 

        DataSet ds = new DataSet(); 
        SqlDataAdapter da = new SqlDataAdapter("Select * from mytable", connection); 
        da.Fill(ds); 
       } 
       Console.WriteLine("Press any key to finish."); 
       Console.ReadLine(); 


      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
     }