Не удается подключиться к экземпляру SQL Server 2008 - PullRequest
1 голос
/ 25 января 2011

Я пытаюсь подключиться к экземпляру сервера SQL Server 2008 через NHibernate, используя C #. Я не могу этого сделать.

Мне удалось подключиться к тому же экземпляру через Hibernate, используя Java. Поэтому я уверен, что с настройками конфигурации SQL Server 2008 все в порядке. Мне также удалось подключиться к SQL Server 2008 Express.

Вот файл hibernate.cfg.xml

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>

    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">server=(local)\SUNIL,3067;Initial Catalog=NHibernate101;User ID=sunil;Password=mypassword;</property>
    <property name="show_sql">true</property>
    <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
    <property name="cache.use_query_cache">false</property>
    <property name="adonet.batch_size">100</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
    <mapping assembly="Infrastructure" />
  </session-factory>
</hibernate-configuration>

Вот сообщение об ошибке:

Метод испытания NHibernate101.Tests.RepositoriesTest.CanCreatePost вызвала исключение: System.Data.SqlClient.SqlException: Не удалось войти в систему для пользователя 'sunil'.

Вот трассировка стека:

System.Data.SqlClient.SqlInternalConnection.OnError (SqlException исключение, Boolean breakConnection) System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning () System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin (Boolean enlistOK) System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) System.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity идентичность, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) System.Data.SqlClient.SqlConnectionFactory.CreateConnection (DbConnectionOptions параметры, объект poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnection owningConnection, DbConnectionPool пул, опции DbConnectionOptions) System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject) System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject) System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory ConnectionFactory) System.Data.SqlClient.SqlConnection.Open () NHibernate.Connection.DriverConnectionProvider.GetConnection () NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare () NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords (Диалект диалект, IConnectionHelper connectionHelper) NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update (ISessionFactory SessionFactory) NHibernate.Impl.SessionFactoryImpl..ctor (Конфигурация cfg, отображение IMapping, настройки Настройки, слушатели EventListeners) NHibernate.Cfg.Configuration.BuildSessionFactory () Core.Domain.Repositories.NHibernateHelper.get_SessionFactory () в D: \ DotNet \ Tutorials \ NHibernate101 \ Ядро \ Домен \ Хранилища \ NHibernateHelper.cs: строка 22 Core.Domain.Repositories.NHibernateHelper.OpenSession () в D: \ DotNet \ Tutorials \ NHibernate101 \ Ядро \ Домен \ Хранилища \ NHibernateHelper.cs: строка 30 Core.Domain.Repositories.CategoryRepository.Core.IRepository.Save (Категория субъект) в D: \ DotNet \ Tutorials \ NHibernate101 \ Ядро \ Домен \ Хранилища \ CategoryRepository.cs: строка 17NHibernate101.Tests.RepositoriesTest.CanCreatePost () в D: \ Dotnet \ NHibernate101 \ NHibernate101.Tests \ RepositoriesTest.cs: линия 69

1 Ответ

1 голос
/ 25 января 2011

Сообщение об ошибке кажется довольно очевидным:

System.Data.SqlClient.SqlException: Ошибка входа пользователя 'sunil' .

Это означает, что пользователь, указанный в строке подключения

  • , не имеет разрешения даже на подключение к серверу
  • не имеет разрешения на подключение к базе данных, указанной в строке подключения
  • в строке подключения указан неверный пароль

Поэтому я постараюсь исправить строку подключения, чтобы убедиться, что вы можете войти в систему:

server=(local)\SUNIL,3067;Initial Catalog=NHibernate101;
   User ID=sunil;Password=mypassword;
  • действительно ли ваш экземпляр SQL Server называется SUNIL и находится на вашем локальном компьютере?
  • действительно ли ваш SQL Server использует порт 3067?(это , а не по умолчанию)
  • действительно ли ваша база данных называется NHibernate101?
  • . На этом сервере существует логин с именем sunil?
  • действительно ли пароль этого логина mypassword?
  • это пользователь не "заблокирован" или заблокирован по какой-то причине?
  • существует ли пользователь для sunil в NHibernate101?

Можете ли вы подключиться к этому серверу, этой базе данных, точно этому логину и паролю, из SQL Server Management Studio?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...