我做一个网站用到asp.net 2.0 的安全数据库(membership),可是在本地测试的时候,我本地的SQL SERVER 2000的关于membership的数据库表的所有者是dbo,但是传到虚拟主机上是没有dbo权限的,都是给个账户,只能操作你的那个库。
我试着把本地的数据库生成sql脚本,然后打开编辑,把所有语句中带dbo.和[dbo].全部替换成空白了,这样其他我自己建的表都有权限使用了,但是membership相关的表还是说需要dbo权限,我该怎么办?
如果我需要用到membership相关数据库进行开发,但最终还是放到虚拟主机上运行?一开始应该怎么做?
我试着把本地的数据库生成sql脚本,然后打开编辑,把所有语句中带dbo.和[dbo].全部替换成空白了,这样其他我自己建的表都有权限使用了,但是membership相关的表还是说需要dbo权限,我该怎么办?
如果我需要用到membership相关数据库进行开发,但最终还是放到虚拟主机上运行?一开始应该怎么做?
但是这次即使把membership相关表的所有者都改成XXX(自己账户),程序还是报错说找不到dbo.某过程,这个过程就是membership生成的
<membership>
<providers>
<clear/>
<add
connectionStringName="MyMemeberShipConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
name="AspNetSqlMembershipProvider"
type="Microsoft.Samples.SqlMembershipProvider"/>
</providers>
</membership>如果使用了webpart,web.config文件中webpart节配置如下:
<webParts>
<personalization>
<providers>
<remove name="AspNetSqlPersonalizationProvider"/>
<add
connectionStringName="WebScheduleConnectionString"
name="AspNetSqlPersonalizationProvider"
type="Microsoft.Samples.SqlPersonalizationProvider"/>
</providers>
</personalization>
</webParts>大功告成,希望microsoft在下一个membership版本中可以改进一下,不要再强迫大家使用dbo用户了。