我现在用VS2010+SQL2005做软件,我把数据库连起来后(数据库文件放在别的目录,提示“是否将数据库复制到项目目录下”,我选了“是”),先运行一次程序(指我做的那一个),没问题;之后要是修改了代码,哪怕只是(int a;)之类无关痛痒的代码,再次运行时候就有两个错误,提示:无法将文件***(项目路径,指.csprosj文件所在的文件夹)\*.mdf(*_log.ldf)复制到***\debug\*.mdf(*_log.ldf),文件debug\*.*.mdf(*_log.ldf)正在被另一个进程使用,因此无法访问该文件。 不懂为什么是这两文件不能访问。
    解决方法为关掉VS2010,再打开,然后就能重新运行了,或者是打开SQL2005,将数据库下拉菜单中的***\debug\*.mdf删除,也可正常运行。但是这样毕竟太麻烦!我是再已经做好的同学的知道下完成数据库连接的,但是他的没问题,我的就有这个问题,搞不懂了。
    另外解决方案下属文件中的*.mdf的“复制到输出目录”属性为“始终复制”,我只是不懂为什么别人的如此没问题,我的就不行。

解决方案 »

  1.   


        这个我倒是不太明白,不过,我目前找到的原因是,Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下的所有数据库(.mdf)文件我在平常状态下是访问不到的,连复制都做不到。我估计就是和这个一样的原因吧,因此debug里面的那个数据库无法被覆盖,操作无法进行。是我的设置问题么?我看有些人那个文件夹里面的数据库文件是可以复制、压缩等的。