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] <%X{auth}> - %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
>