sqlite 连接出错

Jan 10, 2011 at 7:56 AM

我使用抽象工厂的设计模式,配置文件按照主页上的要求进行配置:

使用sqlite数据库进行连接

<configuration>
 
  <configSections>
    <section name="Lephone.Settings" type="Lephone.Util.Setting.NameValueSectionHandler, Lephone.Util" />
      </configSections>
 
  <Lephone.Settings>
    <add key="DefaultContext" value="DB_SqLite" />
    <add key="AutoCreateTable" value="true" />
    <add key="SqlLogRecorder" value="Lephone.Util.Logging.ConsoleMessageRecorder, Lephone.Util" />
    <add key="CacheEnabled" value="true" />
    <add key="DbUser.DataBase" value="@SQLite : @E:\User.db3" />
    <add key="DbUser.DbProviderFactory" value="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,Version=1.0.65.0, Culture=neutral,PublicKeyToken=db937bc2d44ff139" />
    <add key="DB_SqLite.DataBase" value="@SQLite : @E:\MyDb.db3" />
    <add key="DB_SqLite.DbProviderFactory" value="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,Version=1.0.65.0, Culture=neutral,PublicKeyToken=db937bc2d44ff139" />

 

目前的问题是:

在wind7 32位机上可运行,在wind7 64位机上运行 ,则出现以下错误信息:

System.TypeInitializationException: “Lephone.Util.Setting.ConfigHelper”的类型初始值设定项引发异常。 --->

System.Configuration.ConfigurationErrorsException: 配置系统未能初始化 --->

System.Configuration.ConfigurationErrorsException: 每个配置文件中只允许存在一个 <configSections> 元素,并且,如果存在该元素

,它还必须是根 <configuration> 元素的第一个子元素。

 

不知道问题出在什么地方,还请指教!不甚感激啊!

 

Coordinator
Jan 10, 2011 at 9:00 AM

从异常信息看,显然是你的配置文件错误,出现了多个 configSections 元素,或者 configSections 不是 configuration 的第一个子元素啊!!

Jan 11, 2011 at 3:52 AM

根据你提出的修改方法进行修改后,目前出现了新的BUG:

Message: “Lephone.Data.DbEntry”的类型初始值设定项引发异常。
Source:Lephone.Data
Trace:   在 Lephone.Data.DbEntry.From[T]()
   在 Lephone.Data.Definition.DbObjectModelBase`2.FindAll()

配置文件中 片段如下:

<Lephone.Settings>
    <add key="DefaultContext" value="DB_SqLite" />
    <add key="AutoCreateTable" value="true" />
    <add key="SqlLogRecorder" value="Lephone.Util.Logging.ConsoleMessageRecorder, Lephone.Util" />
    <add key="CacheEnabled" value="true" />
    <add key="DbUser.DataBase" value="@SQLite : @E:\User.db3" />
    <add key="DbUser.DbProviderFactory" value="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,Version=1.0.65.0, Culture=neutral,PublicKeyToken=db937bc2d44ff139" />
    <add key="DB_SqLite.DataBase" value="@SQLite : @E:\MyDb.db3" />
    <add key="DB_SqLite.DbProviderFactory" value="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,Version=1.0.65.0, Culture=neutral,PublicKeyToken=db937bc2d44ff139" />

</Lephone.Settings>

我默认的数据连接  初始化怎么会不成功呢?配置文件是按照你的说明写的啊,还请指教!

Coordinator
Jan 11, 2011 at 4:31 AM

sqlite驱动没装对,或者配置文件不对,或者程序对目录没有写权限。

Oct 31, 2012 at 9:37 AM

您说的sqlite驱动是指什么文件,我在使用DbEntry4.1连接sqlite3时 也出现这个问题:Lephone.Data.DbEntry”的类型初始值设定项引发异常。

请教

Oct 31, 2012 at 9:38 AM
lifeng wrote:

sqlite驱动没装对,或者配置文件不对,或者程序对目录没有写权限。

 

您说的sqlite驱动是指什么文件,我在使用DbEntry4.1连接sqlite3时 也出现这个问题:Lephone.Data.DbEntry”的类型初始值设定项引发异常。

请教

Coordinator
Oct 31, 2012 at 6:06 PM

http://sourceforge.net/project/showfiles.php?group_id=132486