Получение исключения с использованием ProviderFactory для создания соединения SQLite

Я пытаюсь использовать 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. Любые предложения о том, как я могу решить эту проблему?


person Elan    schedule 25.02.2011    source источник
comment
ProviderFactory — это мой собственный метод доступа к свойствам DbProviderFactories.GetFactory(...)   -  person Elan    schedule 25.02.2011


Ответы (1)


Оказалось, что я забыл выполнить следующую строчку кода:

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

И последующий код работал, как и ожидалось, без исключения:

IDbConnection conn = providerFactory.CreateConnection();
person Elan    schedule 25.02.2011
comment
Вы имеете в виду DbProviderFactory.GetFactory(System.Data.SQLite)? - person Patrick McDonald; 22.12.2011
comment
Он подключается к внутренней базе данных SQLServer и думает, что работает с sqlite :D - person androschuk.a; 25.05.2018