zoukankan      html  css  js  c++  java
  • 关于 NHibernate 连接 Access 小结

    由于项目的需要(主要是测试需要),需要对Access数据库进行操作,在DAL我采用了NHibernate,由于NHB以前只是在Java上运用了些皮毛,因此遇到的问题自然也不少,记录下来,以备后忘:
    1)连接Access:NHB没有专门的Access方言,网上搜罗也是众说纷纭,大概是很少将Nhb用在Access上的缘故吧,只能自己尝试了。

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

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

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

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

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

    对于NHibernate,我也是初学,以上文字希望对大家能有所帮助并多多指教。
  • 相关阅读:
    深入了解JVM-方法区
    Mysql性能调优
    基督教 犹太  新教  东正教 天主教
    caffe的matlab接口一览表
    ubuntu下 编译Caffe的Matlab接口
    Linux入门学习教程:虚拟机体验之KVM篇
    利用proxychains在终端使用socks5代理
    process lasso 优化原理
    解决win7和ubuntu双系统ubuntu不能上网的问题
    调试minix内核
  • 原文地址:https://www.cnblogs.com/gis9/p/814034.html
Copyright © 2011-2022 走看看