C# 无法连接到数据库

C# 无法连接到数据库,c#,sql,sql-server,C#,Sql,Sql Server,我使用Visual Studio 2012。我使用“添加组件”功能创建了一个数据库。我试着连接到它 class DBManager { private SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\\Users\\somepath\\Database1.mdf;Integrated Security=True"); public DBManager(

我使用Visual Studio 2012。我使用“添加组件”功能创建了一个数据库。我试着连接到它

class DBManager
{
    private SqlConnection conn = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\\Users\\somepath\\Database1.mdf;Integrated Security=True");

    public DBManager()
    {
        using (conn)
        {
            conn.Open();
        }
    }

我在
conn.Open()
行中得到了SQL异常。即使尝试使用
System.Data.SqlServerCe
并相应更改连接字符串,它仍然会引发相同的异常,即文件无法打开或损坏。

如果使用SQL server,则连接字符串应如下所示:

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

有关更多详细信息,请访问connectionstrings.com,或者如果您使用的是其他数据库。

如果您试图连接的数据库已经连接,则连接中的参数
AttachDbFilename=C:\\Users\\somepath\\Database1.mdf
无效。删除它后,您将连接到实例的默认数据库


如果由于文件无法打开或损坏而收到错误,请检查其完整性,使用SQL Server Management Studio附加文件并更改
mdf
文件。如果文件有一些错误,您的代码无论如何都无法工作。

使用block是非常糟糕的。将“new”放在using块中,否则您将无法处理连接和/或周围有已处理的连接。除此之外,你检查过文件是否在你说的地方吗?-'努夫说。(sql server连接字符串中不应包含文件名)为什么要使用LocalDB和AttachDbFileName?如果您使用的是LocalDB实例,您的数据库是否应该已经被连接(在这种情况下,您没有理由在连接字符串中指定数据库的物理路径)?奇怪,连接字符串直接从数据库属性连接字符串复制。奇怪,认为DB属性中给出的字符串是正确的。我试试看。