【问题标题】:Getting exception using ProviderFactory to create a SQLite connection使用 ProviderFactory 创建 SQLite 连接获取异常
【发布时间】:2011-07-03 23:42:06
【问题描述】:

我正在尝试使用 ProviderFactory.CreateConnection() 来获取 SQLite 连接。我收到带有以下消息的 System.ArgumentException:

“不支持关键字:'datetimeformat'。”

连接字符串是:

@"data source=d:\db\Test.db3;Pooling=True;Max Pool Size=10;datetimeformat=Ticks"

在我的 app.config 文件中:

<system.data>
  <DbProviderFactories>
    <remove invariant="System.Data.SQLite"/>
    <add name="SQLite Data Provider" invariant="System.Data.SQLite"
       support="3F" description=".Net Framework Data Provider for SQLite"
         type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
  </DbProviderFactories>
</system.data>

当我实例化一个 SQLiteConnection 实例时,连接字符串起作用。使用 ProviderFactory 失败。关于如何解决此问题的任何建议?

【问题讨论】:

  • "ProviderFactory" 是我自己的 DbProviderFactories.GetFactory("...") 的属性访问器

标签: c# sqlite system.data.sqlite dbproviderfactories


【解决方案1】:

原来,我忘了执行下面这行代码:

DbProviderFactory providerFactory =
    DbProviderFactories.GetFactory("System.Data.SqlClient");

随后的代码毫无例外地按预期工作:

IDbConnection conn = providerFactory.CreateConnection();

【讨论】:

  • 你的意思是 DbProviderFactories.GetFactory("System.Data.SQLite") 吗?
  • 它连接到内部SQLServer 数据库并认为它可以与sqlite 一起工作:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多