想测试一下Castle ActiveRecord 能不能连接Access ,从网上搜索到一篇文章说可以使用如下的配置来实现:
< activerecord isWeb ="true" >
< config >
< add key ="hibernate.connection.driver_class" value ="NHibernate.Driver.OleDbDriver" />
< add key ="hibernate.dialect" value ="NHibernate.Dialect.SybaseDialect" />
< add key ="hibernate.connection.provider" value ="NHibernate.Connection.DriverConnectionProvider" />
< add key ="hibernate.connection.connection_string" value ="Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=Kuaididata.mdb;" />
< add key ="connection.isolation" value ="ReadCommitted" />
< add key ="hibernate.show_sql" value ="true" />
</ config >
</ activerecord >
建立了一个表,实现了增、删、改功能,简单一测试,果然成功,非常高兴,于是又建立了一个用户表,准备做一个简单登录,表有三个字段:Id,UserName,PassWord,照上一表的做法一样来做,总是提示Insert语句错误或UPdate语句错误,百思不得其解,于是对上面的配置产生了怀疑,又开始找JetDriver,可搞了半天,这个东西已经很久没有维护了,和最新版的NHibernate不兼容,可ActiveRecord是使用最新版1.2版NHibernate,搞得头都大了。后来有一位老大的博客上说是数据库表中不能有Password这种字段名,因为和关键字冲突,恍然大悟,修改字段名后,一试,果然OK。
当然,我没有做完全测试,只是简单试了两个简单的表的增、删、改实现。