VS2008连接SQL 2005数据库文件

时间:2021-04-07 20:47:51

      VS 2008连接数据库SQL 2005——数据源为SQL 2005数据库文件
      这几天学习了一下数据库的东东,也装了几次SQL软件,最后在系统上装了SQL Server 2000企业版和2005标准版,两者可以同时使用。用C#语言VS2008编译器写的连接数据库的代码。在连接数据库的时候遇到了不少问题,之前也列举了一些问题的解决方法。现在又遇到了几个连接数据库的异常问题。
      ADO.NET连接数据库SQL 2005文件:抛出的异常问题大概内容如下:
      异常1. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
      异常2. 设备激活错误。物理文件名 'D:\Project Files\Data\Personnel.mdf' 可能有误。未能将数据库 '' 附加到文'D:\Project Files\Data\Personnel.mdf' "。
      异常3. 无法打开物理文件 "D:\Project Files\Data\Personnel.mdf"。操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。)"。……(后面内容省略)
      异常4. 此版本的 SQL Server 不支持用户实例登录标志。该连接将关闭。
      以上三个错误的解决方法:
      首先,检查服务器配置(字符串中关键字是Data Source),这里如果安装了几个版本的服务器会容易搞乱,小窍门:可以在VS2008下选择服务器资源管理器,点击连接到数据库,从服务器名下拉菜单可以找到。照搬就可以了。(提示:"."、"127.0.0.1"、"(local)"、"localhost"或者主机名都可以代表本地)(其实在安装数据库的时候有自己设置的实例名,前面加上主机名就是这里要填写的了,)
      其次,文件路径名确认填写正确后,最关键的是要把该数据库设置成脱机状态,不设置成脱机只能按数据库的方式连接,也就是在连接字符串中指定数据库名,而不是文件名。设置方法:打开SQL Management Studio,选中该数据库右键->任务->脱机。
      最后,也就是异常4的解决办法,需要设置User Instance为false。
      C#连接字符串代码:@"Data Source=XXM\SQL2005;" +@"AttachDbFileName='D:\Project Files\Data\Personnel.mdf';" +@"Integrated Security=True;Connect Timeout=3;User Instance=false"); 此为本人调试成功的连接字符串代码。红体为根据实际填写的。