SQL Server连接无法正常工作

时间:2013-10-09 15:45:34

标签: sql-server asp.net-mvc hibernate ninject

我正在尝试使用ASP.NET MVC创建一个博客。 我正在关注此guide

在指南的中间(第7页),我们测试了应用,但我们必须更改连接字符串。

由于我没有设置数据库,我跳跃连接会自动创建它,但事实并非如此。

<add name="BlogDbConnString" connectionString="Data Source=WATCHTOWER\SQLEXPRESS;Initial Catalog=Blog;Integrated Security=True" providerName="System.Data.SqlClient"/>

我的用户设置没有密码:

<authentication mode="Forms">
  <forms loginUrl="~/Login" timeout="2880">
    <credentials passwordFormat="Clear">
      <user name="XXXXX" password=""/>
    </credentials>
  </forms>
</authentication>

当我尝试运行应用程序时,我在Ninject应该创建数据库的代码中出错:

public class RepositoryModule : NinjectModule
{
    public override void Load()
    {
        Bind<ISessionFactory>()
          .ToMethod(e => Fluently.Configure()
          .Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c.FromConnectionStringWithKey("AngelAlferezBlogDbConnString")))
          .Cache(c => c.UseQueryCache().ProviderClass<HashtableCacheProvider>())
          .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Post>())
              .ExposeConfiguration(cfg => new SchemaExport(cfg).Execute(true, true, false))  //<===THIS LINE!
          .BuildConfiguration()
          .BuildSessionFactory())
          .InSingletonScope();

        Bind<ISession>()
          .ToMethod((ctx) => ctx.Kernel.Get<ISessionFactory>().OpenSession())
          .InRequestScope();
    }
}

Hibernate异常说:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

任何人都可以猜到我做错了什么?

1 个答案:

答案 0 :(得分:2)

错误消息实际上说明了一切...... Hibernate正在尝试创建数据库,但无法建立与SQL Server的连接。

这是一种非常常见的错误类型(通常与网络协议或安全性的配置有关)。

请参阅此文章以获取诊断和解决此类错误的良好清单

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/

文章中的步骤摘要:

  • SQL Server应该启动并运行。
  • 在SQL Server配置中启用TCP / IP
  • 在Windows防火墙中打开端口
  • 启用远程连接
  • 启用SQL Server浏览器服务
  • 在防火墙
  • 中创建sqlbrowser.exe的例外
  • 重新创建别名