此博文,是教你怎样处理asp.net与数据库连接权限,授权连接的通行证。遇上各式各样的问题,以及怎样解决。
ASP.NET程序中,打开web.config文件可以看到MS SQL Server数据库连接字符串信息,一般情况会这样子,把连接字符串写在Web.Config文件中的ConnectionString节点或是appSettings节点中。
有了这些连接信息,就可以在数据库中添加数据库的login信息:
如果,你在网上下载了一个asp.net程序,想把它在你的Visual studio 运行来学习学习,如在Insus.NET的博客下载的程序,如果遇上程序是数据库的,那先得把数据库恢复之后,才能运行起来。你或许也是参考上面的方法来在数据库添加login为asp.net创建连接权限。也许会出现下面的一个异常信息,“‘xerror’ already exists in the current database”。
发生这个异常,是因为此数据库备份时,已一同把此用户备份。你可以参考下面的数据库恢复,恢复之后,就可以看到xerror这个用户名了。
解决此问题,有两方法,一是在异常发生前解决,一个是在异常发生后解决。Insus.NET先说说后一种吧,退出所有异常的对话框,打开查询分析器,把数据库切换至当前数据库,如:
USE [Tutorial] GO
然后参考下面的方法来进行:
http://www.cnblogs.com/insus/archive/2012/03/16/2401666.html
如果,你执行上面的存储过程,如有遇上下面的错误的话:
Msg 15291, Level 16, State 1, Procedure sp_change_users_login, Line 137
Terminating this procedure. The Login name 'xerror' is absent or invalid.
那是因为,你还没有为数据库添加一个login名'xerror',下图中所选择的节点,你没有看到一个用户名为'xerror'。 参考本博文最后一个动画来添加用户,只是说,少了User Mapping的步骤。
下面是在异常发生前解决的方法,当你恢复数据库之后,先去此数据库下的Security >> user >> 'xerror'用户删除,然后再参考此博文第一个动画的方法进行添加用户。这就OK了。
如果你不想这样做,但是你的数据库是恢复的数据库,你可以参考下面的方法:
或者,最好的办法,还是先修改web.config的数据库连接字符的用户,改用一个全新的,密码可改可不改,然后去数据库参考本博文第一个动画的方法来添加。完全能够让asp.net正常连接数据库运行。