日期:2014-05-17  浏览次数:20478 次

数据库报错 无法更新数据库 因为数据库是只读的
公司有一之前asp.net写的项目,其中Web.Config文件中,数据库连接字符串是这样写的:
<add name="constr" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OA_DB.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.Client"/>

在虚拟机上 安装了2008的Express版本数据库,实例也对应添加为SQLEXPRESS.

可每当尝试连接时,就报错,【无法更新数据库 *****\OA_DB.mdf , 因为数据库是只读的】

sqlserver 验证安装时也选的是windows账户验证。请哪位大侠给帮忙看看。
sqlserver?asp.net?只读 sqlserver2008 asp.net 只读

------解决方案--------------------
检查OA_DB.mdf是不是有唯读属性
------解决方案--------------------
估计你的帐号不够权限操作mdf文件
------解决方案--------------------
你能连接上去吗,如果可以,看看下面的命令的结果:
select name,
       is_read_only   --如果为1,表示这个数据库是只读的
from sys.databases
where name = 'xxx'

------解决方案--------------------
另外,如果登陆都登不上去,有可能是数据库的版本问题,

1.你可以先把这个数据库OA_DB.mdf  分离

2.然后建一个同样数据库名称的数据库

3.然后把实例关闭,用原来的OA_DB.mdf 文件替换新的数据库的文件

4.然后启动实例
------解决方案--------------------
引用:
说明一下,我测试是在虚拟机上, vm10装的xp系统测的。是不是虚拟机里面用连接字符串,本机[.]不对啊?虚拟机网络连接用的是nat模式【共享主机网络】。我在想,是不是虚拟机连接字符串的【.】是找到主机上了?反正按照你们上面的方法都试了一遍,又重装了系统和数据库,都还是一样的错误。


试试用ip地址