2010-03-24 45 views
6

Khi tôi thiết lập một kết nối thông thường, nó hoạt động, tuy nhiên khi tôi cố gắng sử dụng nhibernate, hibernate.cfg.xml, tôi nhận được lỗi sau.NHibernate không kết nối với máy chủ sql

Thông báo = "Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server. Máy chủ không được tìm thấy hoặc không thể truy cập. Xác minh rằng tên cá thể là chính xác và SQL Server được định cấu hình cho phép các kết nối từ xa (nhà cung cấp: Giao diện mạng SQL, lỗi: 26 - Lỗi định vị máy chủ/cá thể được chỉ định) " Nguồn =". Nhà cung cấp dữ liệu Net SqlClient "

Điều gì sẽ là lý do cho việc này và làm cách nào tôi có thể giải quyết nó?

Tôi nghi ngờ rằng đó là lỗi cấu hình máy chủ mạng hoặc máy chủ 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> 
+2

Và những gì có trong tệp hibernate.cfg.xml của bạn? – Paco

Trả lời

2

Cố gắng để kết nối đến máy chủ với chuỗi kết nối tương tự, nhưng với một công nghệ truy cập dữ liệu, ví dụ ADO.NET tinh khiết.

Nếu điều đó không thành công, thì đó không phải là vấn đề về NHibernate.
Có thể chuỗi kết nối của bạn hoặc một số cài đặt máy chủ SQL không chính xác, như được chỉ ra trong thông báo lỗi:

"Xác minh rằng tên cá thể là chính xác và SQL Server được định cấu hình để cho phép kết nối từ xa."

+1

tôi đã thử tất cả những crap, không có gì làm việc. tôi đoán công việc không hoạt động ngủ đông :) – DarthVader

+1

"Không có gì làm việc" nghĩa là gì? Bạn đã cố gắng kết nối với cơ sở dữ liệu với ADO.NET thuần túy với cùng một chuỗi kết nối và nó đã hoạt động chưa? Nếu không, sau đó nó không thể là một vấn đề NHibernate. –

+0

ADO.NET hoạt động. Hibernate không muốn làm việc. – DarthVader

2

Đây là định dạng tôi đã sử dụng hơn một chục ứng dụng cho SQL SERVER 2005/2008

data source=COMPUTERNAME;User Id=USERNAME;Password=PASSWORD;database=DATABASENAME 

hoặc nếu bạn yêu cầu một tên instance

data source=COMPUTERNAME\SERVERINSTANCE;User Id=USERNAME;Password=PASSWORD;database=DATABASENAME 

thay thế placeholders bằng chữ in hoa . Cũng đảm bảo rằng bạn đã thiết lập máy chủ sql để cho phép kết nối cho Sql Server Authentication và không chỉ Windows Authentication. Kiểm tra tường lửa của bạn

+0

THanks người đàn ông, tôi đã thử định dạng này, không muốn làm việc. nhưng ADO.NET hoạt động. – DarthVader

2

Tôi đã viết một đoạn mã nhỏ trong cùng một ứng dụng để mở kết nối ado.net thô với cùng một chuỗi kết nối và nó hoạt động.

Sau đó, tôi sao chép chuỗi kết nối đó vào tệp cấu hình cho nhibernate và nó bắt đầu hoạt động.

Khi tôi so sánh chuỗi gốc đưa ra lỗi và chuỗi kết nối mới ... Tôi không thể thấy bất kỳ sự khác biệt nào ... không có manh mối gì đang xảy ra ... hoàn toàn vấp ngã ... dù sao vấn đề được giải quyết. .. hy vọng điều này sẽ giúp ai đó.

Các vấn đề liên quan