这是我使用ASP.net的第一个项目,我正在努力让我的数据库连接正常工作。 现在我的应用程序数据的数据库正在运行,我可以使用该网站进行简单的CRUD操作。 但是,当我尝试通过网站管理工具添加Authorizarion和身份验证时,我得到以下异常: 无法打开用户默认数据库。登录失败。用户'PcName \ UserName'登录失败。
我尝试过使用不同的连接字符串来解决这个问题,但没有运气。他们只会破坏我的网站功能。
我的连接字符串是:
<connectionStrings>
<add name="ProjectEntities"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
database=ProjectDB;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;
User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
我正在使用Visual Studio 2010,ASP.net MVC 3和实体框架。
我真的没有选择,有太多关于SQL Server Express和ASP.net的信息,我找不到任何可行的解决方案。
修改
我尝试了几种不同的连接字符串,如下所示,并在网上找到。我现在尝试加载网站管理工具时出现了不同的错误:无法找到存储过程'dbo.aspnet_CheckSchemaVersion'。
谷歌搜索时,我发现了一些解决方案来解决这个问题。其中一个是运行带有一些选项的aspnet_regsql.exe。这样做时,我收到以下错误消息:
An error has occurred. Details of the exception:
A network-related or instance-specific error occurred while establishing a conne
ction to SQL Server. The server was not found or was not accessible. Verify that
the instance name is correct and that SQL Server is configured to allow remote
connections. (provider: Named Pipes Provider, error: 40 - Could not open a conne
ction to SQL Server)
Unable to connect to SQL Server database.
似乎SQL服务器似乎没有运行,或者其他东西。我对这个问题的了解真的不足以解决这个问题。
编辑2:
我做了更多研究,并尝试运行新创建的MVC 3 Internet应用程序的网站管理工具。当进入安全选项卡时,它会给我一个不同的错误:无法加载类型'MvcApplication1.MvcApplication'。
所以我的猜测是我在初始项目(创建为空项目)中缺少Web.config中的一些配置,但不知何故有一个新问题...
答案 0 :(得分:3)
您可以在不指定数据库参数的情况下尝试吗?
<connectionStrings>
<add name="ProjectEntities"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;
User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
是否会创建.mdf文件?你在研究网络驱动器吗?
答案 1 :(得分:0)
连接字符串应为:
<connectionStrings>
<add name="ApplicationServices" connectionString="data Source=.\SQLEXPRESS; Initial Catalog=aspnetdb; Persist Security Info=True; Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>