今天尝试用ASP连接sql server,好不容易连接上后抑郁的发现自己建的表无法操作。就算加上dbo前缀后此表还是显示对象名无效,而系统表访问正常。
网上四处寻找问题,终于找到一个有效的解决办法,为数据库建了一个用户,通过此用户连接数据库,修改相应权限即可操作表了。
话说默认用户怎么设置权限都无法解决此问题,看来对于sql server太不熟练了。哎,慢慢练~
以下内容摘自http://blog.csdn.net/dandan0328/archive/2008/08/20/2801126.aspx
问题症状:
访问SQL Server数据库,提示“xxx对象名无效”
根本原因:
用户可能是数据库的用户,但数据库未授予该用户相应的访问权限
解决方法:
为数据库用户分配权限,具体过程见下。
1、假设数据库名称=happy,用户名=haha。
2、在happy数据库中->用户->新建数据库用户->登录名称选择[新建]->名称填haha->确认密码->haha账户建立成功。
* 注意——身份验证选sql身份验证,默认数据库选happy,服务器角色选上db_owner,数据库访问记得选happy。
* 补充——如果在中间步骤的服务器角色时没选,用新账号和密码访问,就会出现错误“SQLServer拒绝了对对象 'hello'(数据库 'happy',所有者 'dbo')的 SELECT 权限”,在账户属性里重新选上db_owner,或在权限设置里将要访问表的“选择插入更新删除”等项目上打勾就可以了。
此时,重新运行程序会看到访问成功的页面了。