无法自动创建ASPNETDB.MDF - Visual Web Developer Express 2008 / SQL Express 2008

时间:2012-10-25 17:46:45

标签: asp.net sql-server

我最近开始学习ASP.net / SQL。我安装了Sql Server 2008R2 Express Edition;和Visual Web Designer 2008速成版。我最近尝试创建一个登录页面,但没有成功;任何帮助,将不胜感激。我尝试采取以下步骤:
- 创建新的WebSite
- 转到设计视图
- 将“登录状态”拖入设计视图;将“Login”控件拖到设计视图中;
- 在Web.config中我将身份验证更改为“表单”(没有添加任何其他内容)
- 运行页面而不调试/输入登录中的任何信息以获得“ASPNETDB.MDF”文件自动创建到我的“app_data”文件夹中; 我收到以下错误。

注意:Sql Server启用了“允许远程连接”,在配置管理器中我启用了tcp / ip和“pipes”(这些是我在无法自动创建数据库之后采取的措施。)我试过“将数据库连接到我的可视化网页设计师程序。另外值得注意的是,在连接数据库时,我使用。\或localhost \ no istance name,因为这是V.W.Designer检测我的数据库的唯一方法。

Error I get

图片中无法看到的堆栈跟踪如下:

  

[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错)]      System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection)+4849015      System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194      System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean trustServerCert,Boolean integratedSecurity,SqlConnection owningObject)+4862333      System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,String newPassword,Boolean ignoreSniOpenTimeout,Int64 timerExpire,SqlConnection owningObject)+90      System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host,String newPassword,Boolean redirectedUserInstance,SqlConnection owningObject,SqlConnectionString connectionOptions,Int64 timerStart)+376      System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject,SqlConnectionString connectionOptions,String newPassword,Boolean redirectedUserInstance)+221      System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,Object providerInfo,String newPassword,SqlConnection owningObject,Boolean redirectedUserInstance)+189      System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection)+4863459      System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup)+29      System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)+4865788      System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)+117      System.Data.SqlClient.SqlConnection.Open()+ 122      System.Web.Management.SqlServices.GetSqlConnection(String server,String user,String password,Boolean trusted,String connectionString)+82

     

[HttpException(0x80004005):无法连接到SQL Server数据库。]      System.Web.Management.SqlServices.GetSqlConnection(String server,String user,String password,Boolean trusted,String connectionString)+137      System.Web.Management.SqlServices.SetupApplicationServices(String server,String user,String password,Boolean trusted,String connectionString,String database,String dbFileName,SqlFeatures features,Boolean install)+94      System.Web.Management.SqlServices.Install(String database,String dbFileName,String connectionString)+25      System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName,String dataDir,String connectionString)+395

1 个答案:

答案 0 :(得分:1)

我能够让它运转起来!如果您调试同样的问题,值得一提/考虑的事情。

连接到数据库时,我必须使用Localhost \而不是实例。 如果你也做得好并且无法正确连接并且上面列出的错误然后安装一个命名实例(安装sql server,当你到达Instance菜单时,不要使用“default”使用命名实例 - 我使用SQLExpress) 我还改变了这样一个事实:在我只使用“windows authentication”登录我的服务器之前,当我重新安装时,我允许“混合”。

这是我所做的唯一改变,实际上允许我按照我需要的方式自动创建数据库。

也在web.config中将身份验证部分更改为“Forms”而不是“Window。”。

还要确保您的可视化Web开发人员在可视化Web开发人员中使用了正确的SQL实例(我使用的是2008)转到 - 工具 - >选项 - >点击左下角的显示所有设置框 - >数据库工具 - >数据连接 - > SQL Server实例应具有与之前安装的实例相同的名称。

这些应该处理第一次尝试使用登录页面时出现的错误26。 此页面中发布了其他有用的链接:Creating .MDF With SQL 2008 EXPRESS/ Visual Web Developer 2008