在nhibernate 1.2 中使用sqlite时应注意sqlite的ado.net的提供者

简介: Finisar.SQLite.SQLiteConnection 情况:我想存储少量的数据,在数据库, 2,并且使用nhibernate nhibernate对access的支持算不上好,所以我就选择使用了sqlite,但是同样的代码在ms sql server上能通过但就是就对sqlite通过不过,通过一步,步地跟踪发现sqlite的构造函数是如下的情况 public SQLiteD

Finisar.SQLite.SQLiteConnection

情况:我想存储少量的数据,在数据库,

2,并且使用nhibernate

nhibernate对access的支持算不上好,所以我就选择使用了sqlite,但是同样的代码在ms sql server上能通过但就是就对sqlite通过不过,通过一步,步地跟踪发现sqlite的构造函数是如下的情况

public SQLiteDriver() : base(
   "SQLite.NET",
   "Finisar.SQLite.SQLiteConnection",
   "Finisar.SQLite.SQLiteCommand")
  {
  }

经检查是我使用了http://sourceforge.net/projects/sqlite-dotnet2这里的dll

而nhibernate中sqlite中使用的sqlite的dll却是使用的

http://sourceforge.net/projects/adodotnetsqlite的这个版本,

因为dll不对,所以经常出现不能 could not create driver from ***这个错误,在使用这个版本的时候,我们应将SQLite3.dll这个dll拷贝到执行目录下,不然的话,会出错

 这是使用sqlite时用到的配置文件,(注,只适用于nhibernate 1.2版本,其它版本请不要参考)

 

<? xml version = " 1.0 "  encoding = " utf-8 "   ?>
< configuration >
    
< configSections >
        
< section name = " nhibernate "  type = " System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089 "   />
        
< section name = " log4net "  type = " log4net.Config.Log4NetConfigurationSectionHandler,log4net "   />
    
</ configSections >

    
< nhibernate >
    
<!--     
       
< add key = " hibernate.show_sql "
            value
= " true "   />
        
< add key = " hibernate.connection.provider "
            value
= " NHibernate.Connection.DriverConnectionProvider "   />

        
< add key = " hibernate.dialect "
             value
= " NHibernate.Dialect.MsSql2000Dialect "   />

        
< add key = " hibernate.connection.driver_class "
             value
= " NHibernate.Driver.SqlClientDriver "   />

        
< add key = " hibernate.connection.connection_string "
             value
= " Server=.cxy;database=mytest;uid=sa;pwd=cxy "   />
    
-->
        
< add key = " hibernate.show_sql "
            value
= " true "   />
        
< add key = " hibernate.connection.provider "
            value
= " NHibernate.Connection.DriverConnectionProvider "   />

        
< add key = " hibernate.dialect "
             value
= " NHibernate.Dialect.SQLiteDialect "   />

        
< add key = " hibernate.connection.driver_class "
             value
= " NHibernate.Driver.SQLiteDriver "   />  

        
< add key = " hibernate.connection.connection_string "
             value
= " Data Source=cxy.db;Version=3 "   />

        
< add key = " hibernate.query.substitutions "
                value
= " true=1;false=0 "   />
        
        
    
</ nhibernate >

    
<!--  This section contains the log4net configuration settings  -->
    
< log4net >

        
<!--  Define some output appenders  -->

        
< appender name = " rollingFile "  type = " log4net.Appender.RollingFileAppender,log4net "   >

            
< param name = " File "  value = " log.txt "   />
            
< param name = " AppendToFile "  value = " true "   />
            
< param name = " RollingStyle "  value = " Date "   />
            
< param name = " DatePattern "  value = " yyyy.MM.dd "   />
            
< param name = " StaticLogFileName "  value = " true "   />

            
< layout type = " log4net.Layout.PatternLayout,log4net " >
                
< param name = " ConversionPattern "  value = " %d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n "   />
            
</ layout >
        
</ appender >

        
<!--  Setup the root category, add the appenders and  set  the  default  priority  -->

        
< root >
            
< priority value = " ALL "   />
            
< appender - ref   ref = " rollingFile "   />
        
</ root >

    
</ log4net >


</ configuration >
相关文章
|
数据库管理
SQLite的ADO.NET Provider支持ADO.NET Entity Framework
Ado.net 官方博客 http://blogs.msdn.com/adonet/archive/2008/09/06/sqlite-s-ado-net-provider-supports-the-ado-net-entity-framework.
800 0
|
3月前
|
存储 数据库连接 数据库
Android数据存储:解释SQLite数据库在Android中的使用。
Android数据存储:解释SQLite数据库在Android中的使用。
42 0
|
8月前
|
API 数据库 Android开发
Android 中SQLite数据库的使用详解
Android 中SQLite数据库的使用详解
63 0
|
8月前
|
数据库 Android开发 数据库管理
Android使用Room操作SQLite数据库让其变得无比高效和简洁(进一步完善用RecyclerView显示数据库中的数据)
Android使用Room操作SQLite数据库让其变得无比高效和简洁(进一步完善用RecyclerView显示数据库中的数据)
52 0
|
4月前
|
XML 数据库 数据安全/隐私保护
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
41 0
|
4月前
|
SQL 数据库 数据安全/隐私保护
Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)
Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)
60 0
|
5月前
|
Shell 数据库 开发工具
(超详细)android中SqLite数据库的使用(一文包懂包会)
(超详细)android中SqLite数据库的使用(一文包懂包会)
130 0
|
6月前
|
SQL 安全 数据库
Android -SQLite 的增删改查(CRUD)
Android -SQLite 的增删改查(CRUD)
55 0
|
8月前
|
存储 数据库 Android开发
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(前一篇文章的完善)
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(前一篇文章的完善)
117 0
|
8月前
|
数据库 Android开发 数据库管理
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(教程一)
Android 使用Room操作SQLite数据库让其变得无比高效和简洁(教程一)
139 0