如何从asp.net将aspnetdb.mdf连接到sql server 2008 R2的本地实例?
我使用federation实用程序向解决方案中添加了一个安全令牌服务项目。然后,我将aspnetdb.mdb文件添加到我的sqlmembershipprovider存储项目中。 在服务器资源管理器中查看和测试连接时,连接成功。但是,当我运行解决方案时,我得到一个错误:26,在建立到SQL Server的连接时,发生了与网络相关或特定于实例的错误。 我做错了什么?我怎样才能解决这个问题如何从asp.net将aspnetdb.mdf连接到sql server 2008 R2的本地实例?,.net,asp.net,sql-server,.net,Asp.net,Sql Server,我使用federation实用程序向解决方案中添加了一个安全令牌服务项目。然后,我将aspnetdb.mdb文件添加到我的sqlmembershipprovider存储项目中。 在服务器资源管理器中查看和测试连接时,连接成功。但是,当我运行解决方案时,我得到一个错误:26,在建立到SQL Server的连接时,发生了与网络相关或特定于实例的错误。 我做错了什么?我怎样才能解决这个问题 <add name="connectionstring" connectionString="D
<add name="connectionstring"
connectionString="Data Source=.;AttachDbFilename='C:\ClaimsEnableWebsite\ClaimsEnableWebSite_STS\App_Data\ASPNETDB.MDF';Integrated Security=True;User Instance=False;Context Connection=False"
providerName="System.Data.SqlClient" />
编辑>>回答:
连接到SQL Server数据库文件(.mdf)需要在本地计算机上安装并运行SQL Server Express。正如您所发现的,在任何“真实”版本的SQL Server上,不能使用
AttachDbFileName=
方法-这实际上只适用于使用SQL Server Express edition的开发工作
但是,您可以使用ASP.NET SQL Server注册工具(aspnet\u regsql
),该工具与.NET framework一起安装在类似于C:\Windows\Microsoft.NET\framework\v4.0.30319
的文件夹中(如果需要,请替换当前的.NET framework版本)在您选择的任何SQL Server数据库中创建这些表
有关详细信息,请参阅。•如果您使用的是“real”SQL Server而不是Express版本,则必须运行aspnet_regsql.exe来生成安全数据库(默认aspnetdb)。您无法从ASP.ET网站管理员自动生成它。由于实用程序所在的目录有n个级别,因此我使用批处理文件: “c:\windows\Microsoft.Net\Framework\v4.0.30319”\aspnet\u regsql •默认情况下,完整SQL Server不允许将数据库放在系统的任何位置。相反,当您运行aspnet_regsql时,aspnetdb.mdf数据库(或您赋予它的任何名称)将在Sql Server的默认目录(在C\Program Files\Micrsofot Sql Server…\Data下)中生成。没关系。 注意:如果要使用网站App_数据目录中的本地数据库,请执行以下步骤。 1.确保该数据库不是由任何其他应用程序使用,而是由SQL Server Management Studio的单个实例使用。 2.展开“数据库”节点。 3.右键单击aspnetdb(或任何你称之为它的东西),然后选择Tasks->Detatch。请注意,消息列应为空,表示没有打开的连接,否则分离将失败
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime/>
<sessionState allowCustomSqlDatabase="true"
sqlConnectionString="Data Source=JAYSDELL\MSSQLSERVER2008R;
Initial Catalog=aspnetdb;
Integrated Security=True"/>
<pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer"
connectionString="Data Source=JAYSDELL\MSSQLSERVER2008R;
Initial Catalog=aspnetdb;
Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Obviously values for sqlConnectionString and Initial Catalog need to be tailored to the app.
显然,sqlConnectionString和初始目录的值需要根据应用程序进行定制。
现在,当您进入WEBSET->ASP.NET配置->安全时,您应该会看到以下内容
成功