关于 NHibernate 连接 Access 小结

添加人:vs2005一级(342分)   添加时间:2007-09-03    阅读次数:2570  收藏此教程
由于项目的需要(主要是测试需要),需要对Access数据库进行操作,在DAL我采用了NHibernate,由于NHB以前只是在Java上运用了些皮毛,因此遇到的问题自然也不少,记录下来,以备后忘:
1)连接Access:NHB没有专门的Access方言,网上搜罗也是众说纷纭,大概是很少将Nhb用在Access上的缘故吧,只能自己尝试了。

我的成功配置文件如下:
 1<?xml version="1.0" encoding="utf-8" ?>
 2<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
 3  <session-factory name="masparameter">
 4    <property name="dialect">NHibernate.Dialect.SybaseDialect</property>
 5    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
 6    <property name="connection.driver_class">NHibernate.Driver.OleDbDriver</property>
 7    <property name="connection.connection_string">Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=F:ags92prjwma3masparameter.mdb;</property>
 8    <property name="connection.isolation">ReadCommitted</property>    
 9    <!-- HBM Mapping Files -->
10    <mapping assembly="wmadata" />
11  </session-factory>
12</hibernate-configuration>


其中 <property name="dialect">NHibernate.Dialect.SybaseDialect</property> 我使用了Sybase的方言,Hibernate没有专门针对Access的方言,只能用一个近似的代替。

开始我使用了MSSql7的方言,但是经过测试:在Insert的语句时,NHB抛出异常,原因是Access不支持同时执行两个SQL语句(MSServer则支持)。

其次我又换了Oracle作为替代方言,经测,Last_。。。的错误(具体忘了),记录是被增加至数据库了,但是总是抛出其他异常。

最后尝试了Sybase的方言,OK,在增删改查的操作下没有出现异常。

对于NHibernate,我也是初学,以上文字希望对大家能有所帮助并多多指教。
1页 第1上一页1下一页
相关的教程: Nhibernate Access
收藏此教程

当前平均分: -2.3(3 次打分)

-5-4-3-2-1012345
评论主题
您的大名
您的评论
验证码 点击换一个验证码
知识库搜索: