2011-05-11 29 views
1

我有一个应用程序在我们的服务器上运行(它在我的计算机上工作正常,并不重要)。 它是一个Windows Server 2003 Sql Express 2008 R2服务器。附加的数据库可以登录,但不能创建用户“密钥'attachdbfilename'无效的值'”

我使用附加的数据库来存储用户(asp.net提供的数据库)。

我可以登录到web应用程序没有任何问题,但是当我尝试创建一个用户时,它只是说关键'attachdbfilename'无效的值与死亡的黄色屏幕。

在这里你有在web.config

<add name="ConnectionStringASPNETDB.MDF" connectionString="Data Source=localhost\SQLEXPRESS_2008;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> 

连接字符串和成员资格提供

<add name="daganteckning" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
       connectionStringName="ConnectionStringASPNETDB.MDF" 
       enablePasswordRetrieval="false" 
       enablePasswordReset="false" 
       requiresQuestionAndAnswer="false" 
       applicationName="/" 
       requiresUniqueEmail="false" 
       passwordFormat="Hashed" 
       description="Stores and retrieves membership data from a Microsoft SQL Server database." /> 

我唯一的猜测是,有某种形式的目录/文件安全许可,我必须的设置,但我不知道用户iis/sql用来访问数据库文件。

任何人有想法?

编辑: 我tryed通过替换本地主机\ sqlexpress_2008与\ sqlexpress_2008,现在我得到

无法打开物理文件 “C:\的Inetpub \ wwwroot的\ MEDLEM_TEST \ App_Data文件\ ASPNETDB.MDF ”。 操作系统错误32:“32( 进程无法访问文件,因为 它正在被另一个 进程使用。)”。尝试附加 自动命名数据库文件 C:\ Inetpub \ wwwroot \ MEDLEM_TEST \ App_Data \ ASPNETDB.MDF 失败。同名数据库 存在,或指定的文件不能被打开,或位于UNC共享上。

回答

0

浏览后我发现我没有使用定义的提供者,除非我说我想用名称..所以我解决了它通过添加<clear />提供者标记并添加属性defaultProvider =“daganteckning”到会员标签。

<membership defaultProvider="daganteckning"> 
    <providers> 
     <clear /> 
     <add name="daganteckning" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
       connectionStringName="ConnectionStringASPNETDB.MDF" 
       enablePasswordRetrieval="false" 
       enablePasswordReset="false" 
       requiresQuestionAndAnswer="false" 
       applicationName="/" 
       requiresUniqueEmail="false" 
       passwordFormat="Hashed" 
       description="Stores and retrieves membership data from a Microsoft SQL Server database." /> 
    </providers> 
    .... 
1

检查您的服务器的防病毒或任何其他进程是否可以访问该文件。

您也可以在做出所列出的更改后尝试回收应用程序。

此外,如果您使用Asp.Net配置工具,它将附加到mdf文件,并且您的应用程序将通过该连接创建该错误。

相关问题