无法从Windows服务访问SQL Server 2008 R2 Express数据库

首先让我说,我已经通过了各种表明类似问题的文章,但是发布的解决方案并不适用于我的问题。

我的问题是: - 我有访问SQL服务器数据库的WCF服务。 此wcf服务托管在Windows服务中。 每件事情都很好,但是当我重新启动计算机系统时,我的服务无法连接到SQL服务器数据库。 我得到异常 -

System.Data.SqlClient.SqlException(0x80131904): 与服务器建立了连接,但在登录过程中发生错误。 (提供程序:共享内存提供程序,错误:0 - 管道的另一端没有进程。)在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32 error)System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult,TdsParserStateObject stateObj)System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()at System在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)System.Data.SqlClient.TdsParserStateObject.ReadByte()上的.Data.SqlClient.TdsParserStateObject.ReadBuffer() .Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(布尔enlistOK)在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo s System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,String newPassword,Boolean redirectedUserInstance,SqlConnection owningObject,SqlConnectionString connectionOptions,TimeoutTimer timeout)在System.Data.SqlClient上的erverInfo,String newPassword,Boolean ignoreSniOpenTimeout,TimeoutTimer超时,SqlConnection拥有对象)。 SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection拥有对象,TimeoutTimer超时,SqlConnectionString连接选项,字符串newPassword,布尔redirectedUserInstance)在System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity标识,SqlConnectionString connectionOptions,对象providerInfo,字符串newPassword,SqlConnection拥有对象,布尔redirectedUserInstance) System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,对象poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection)在System.Data.ProviderBase.DbConnectionFacto 在System.Data.ProviderBase.DbConnectionPool的System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)上的System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)上的ry.CreatePooledConnection(DbConnection owningConnection,DbConnectionPool pool,DbConnectionOptions选项)。 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection拥有连接)上的GetConnection(DbConnection拥有对象)在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)上System.Data.SqlClient.SqlConnection.Open()在NHibernate 。NHibernate.Connection.DriverConnectionProvider.GetConnection()NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(方言dialect,IConnectionHelper connectionHelper)在NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory )在NHib 在GNO.OTODBManager.Core上的GNO.OTODBManager.Core.OTODBConnectionConfiguration.CreateSessionFactory()处的NHibernate.Cfg.Configuration.BuildSessionFactory()上的ernate.Impl.SessionFactoryImpl..ctor(配置cfg,IMapping映射,设置设置,EventListeners监听器)。 OTODBConnectionConfiguration.CheckFactory()

除此之外,我还可以在windows甚至查看器中看到以下的执行选项

SQL Server尚未准备好接受新的客户端连接。 等待几分钟再试。 如果您有权访问错误日志,请在尝试再次连接之前查找指示SQL Server已准备就绪的信息性消息。

Windows服务配置为在Windows启动过程中自动启动,但由于此错误无法启动。 但它工作得很好,如果我手动启动服务。 Sql服务器和WCF服务器都在同一台机器上,我正在使用SQL Server身份验证连接到SQL Server。

SQL服务器配置为 -

环境:

  • 操作系统:Windows 7 64位。
  • SQL Server 2008 R2速成版。
  • 问题是我的Windows服务由于这个错误而无法在Windows启动时启动。 但我手动启动服务一切正常。

    提前致谢。

    链接地址: http://www.djcxy.com/p/9721.html

    上一篇: Cannot access the SQL Server 2008 R2 Express database from windows service

    下一篇: dotnet project gives SQL server error