在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 >
相关文章
|
7月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
44 2
|
7月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
159 7
|
7月前
|
存储 SQL 关系型数据库
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
|
7月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
133 0
|
7月前
|
安全 数据库 数据安全/隐私保护
七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
204 0
|
7月前
|
开发框架 .NET API
七天.NET 8操作SQLite入门到实战 - 第四天EasySQLite前后端项目框架搭建
七天.NET 8操作SQLite入门到实战 - 第四天EasySQLite前后端项目框架搭建
|
7月前
|
SQL Shell 数据库
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
|
SQL 数据库连接 数据库
『SQLite』C#/.NET EF+SQLite.CodeFirst——真正实现CodeFirst
📣读完这篇文章里你能收获到 - 本文详细介绍了SQLite实现CodeFirst的方式 - 通过代码配合图文的形式进行讲解
593 0
『SQLite』C#/.NET EF+SQLite.CodeFirst——真正实现CodeFirst
|
数据库管理 数据库 C#
【物联网智能网关-16】成功移植SQLite(STM32 .NET MF平台)
.NET Micro Framework系统官方代码是不支持任何数据库的,这对一些具有用户管理的Web Server、RFID数据采集和复杂的手持机应用来说是非常不方便的。
1157 0