每当我连接到SQL Server数据库时,是否必须使用附加连接字符串?

时间:2016-01-06 17:47:45

标签: c# sql sql-server

我是SQL Server新手。我创建了一个C#应用程序,它使用SQL Server数据库(自动附加数据库)使用以下连接字符串读取/存储数据:

SqlConnection cn = new SqlConnection(@"Data Source=localhost; AttachDbFilename=E:\DB\myDB.mdf; trusted_connection=yes")

然后我将我的应用程序部署到exe文件中。我去了另一台PC并安装了SQL Server并在其上安装了我的应用程序。现在一切正常但是因为我是SQL Server新手,我觉得我以错误的方式附加数据库(myDB),因为它听起来像我每次连接到SQL Server时都附加了这个数据库。

我第一次运行我的应用程序并且数据库将被附加,下次我运行我的应用程序时它将再次附加(但它已经附加),我错了吗?

我的问题是:每次使用上述连接字符串连接到SQL Server时,为什么必须附加数据库?是否有另一种方法只附加一次?谢谢

1 个答案:

答案 0 :(得分:2)

  

为什么每次连接到sql时都必须附加数据库   服务器

我在这里对“em> attach 这个词感到困惑。它根本没有附加/分离。您正在做的是在连接字符串中指定数据库名称及其路径,因此当您运行应用程序时,您可以查看连接字符串并读取/写入DB文件。

与您安装本地SQL Server并连接到该数据库服务器以获取表数据信息相同。

是的,根据您执行数据库操作的次数,以及您是否使用连接或断开连接的ADO.NET体系结构,它将执行多次读/写操作。