Когда я настроил регулярное соединение, оно работает, однако когда я пытаюсь использовать nhibernate, hibernate.cfg.xml, я получаю следующую ошибку.
Сообщение = "Связанная с сетью или определенная для экземпляра ошибка произошло при установлении соединения с SQL Server. Сервер не был найден или не был доступен. Проверьте, что имя экземпляра корректно и что SQL Server настроен для разрешения удаленных соединений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка, Определяющая местоположение Указанного Сервера/Экземпляра)" Источник = ". Сетевой Поставщик данных SqlClient"
Какова была бы причина этого и как я могу разрешить его?
Я сомневаюсь, что это - ошибка конфигурации сетевого сервера или SQL-сервера.
<?xml version="1.0" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Server=(ServerName\DEV_ENV);Initial Catalog=dbName;User Id=SA;Password=PASS</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>
</hibernate-configuration>
Попробуйте подключиться к серверу с той же строкой подключения, но с другой технологией доступа к данным, например чистым ADO.NET.
Если это тоже не удается, значит, проблема не в NHibernate.
Возможно, ваша строка подключения или некоторые настройки SQL-сервера неверны, как указано в сообщении об ошибке:
"Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. "
Это формат, который я использовал для более чем дюжины приложений для SQL SERVER 2005/2008
data source=COMPUTERNAME;User Id=USERNAME;Password=PASSWORD;database=DATABASENAME
или, если вам требуется имя экземпляра
data source=COMPUTERNAME\SERVERINSTANCE;User Id=USERNAME;Password=PASSWORD;database=DATABASENAME
, замените заполнители заглавными буквами.
Также убедитесь, что вы настроили sql-server, чтобы разрешить соединения для Sql Server Authentication
, а не только Windows Authentication
. {{1} } Также проверьте свой брандмауэр