Tôi đã kế thừa dự án C#/NHibernate/MS SQL Server và mới sử dụng NHibernate. Một trong những nhiệm vụ đầu tiên được đưa ra cho tôi là di chuyển cơ sở dữ liệu từ MS SQL Server (2008 R2) sang Postgresql 9.2. Tôi đang sử dụng Npgsql 2.0.12 (phiên bản 2.0 .net). Các Mono.Security.dll và Npgsql.dll được bao gồm trong dự án của tôi Tài liệu tham khảo và chúng tồn tại trong thư mục bin của tôi. Khi mã thực thi dòng sau:Không thể tạo trình điều khiển từ NHibernate.Driver.NpgsqlDriver
SessionFactory.OpenSession();
một ngoại lệ được ném với thông điệp
"Không thể tạo tài xế từ NHibernate.Driver.NpgsqlDriver."
Tìm kiếm trên web, đã cho tôi một vài ý tưởng nhưng không có ý tưởng nào có hiệu quả. Mã này tôi đã kế thừa đang được sản xuất tại một số máy khách không có vấn đề gì khi sử dụng MS SQL Server. Đây là tệp hibernate.cfg.xml của tôi:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.PostgreSQLDialect</property>
<property name="connection.driver_class">NHibernate.Driver.NpgsqlDriver</property>
<property name="connection.connection_string">server=localhost;Port=5432;Database=vehicletracker;User Id=postgres;Password=********;</property>
</session-factory>
</hibernate-configuration>
Tôi không quên bao gồm "using Npgsql;", nó ở đó. Bất kỳ đề xuất?
Kính trọng,
B
Xin chào Tom, cảm ơn bạn đã dành thời gian hỗ trợ. Tôi không sử dụng NuGet kể từ IDE của tôi là Visual Studio 2008. Tôi đã xóa và thay thế nHibernate và Npgsql dll của tôi nhưng vẫn không có may mắn. Một lần nữa, bằng cách sử dụng MS SQL Server hoạt động tốt nhưng cố gắng kết nối với Npgsql ném một ngoại lệ. – Woolly