我继承了一个 C#/NHibernate/MS SQL Server 项目,并且是 NHibernate 的新手。给我的首要任务之一是将数据库从 MS SQL Server (2008 R2) 迁移到 Postgresql 9.2。我正在使用 Npgsql 2.0.12(.net 2.0 版本)。Mono.Security.dll 和 Npgsql.dll 包含在我的项目引用中,它们存在于我的 bin 目录中。当代码执行以下行时:
SessionFactory.OpenSession();
消息引发异常
“无法从 NHibernate.Driver.NpgsqlDriver 创建驱动程序。”
在网上搜索,给了我一些想法,但都没有奏效。我继承的这段代码在使用 MS SQL Server 没有问题的几个客户端上进行生产。这是我的 hibernate.cfg.xml 文件:
<?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>
我没有忘记包括“使用 Npgsql;”,它就在那里。有什么建议么?
问候,
乙