Поставщик данных SQLite .Net Framework не найден при программной установке? - PullRequest
0 голосов
/ 17 января 2012

Я использую SQLite (1.0.77.0) для определенного веб-сервиса, но по разным причинам я не могу коснуться файла web.config. Я работал над этим, вручную добавляя провайдера, используя этот код:

try
{
    var dataSet = ConfigurationManager.GetSection("system.data") as System.Data.DataSet;
    dataSet.Tables[0].Rows.Add("SQLite Data Provider"
    , ".Net Framework Data Provider for SQLite"
    , "System.Data.SQLite"
    , "System.Data.SQLite.SQLiteFactory, System.Data.SQLite");
}
catch (System.Data.ConstraintException e) { /*...*/ }

Кажется, что это нормально работает на моем компьютере (Windows 7 Professional x64), даже если SQLite не развернут в GAC, но при попытке доступа к фабрике провайдеров происходит сбой в Windows 2003 SE SP2 с сообщением об исключении:

Unable to find the requested .Net Framework Data Provider.  It may not be installed.

Я подтвердил, что он работает на той же машине, если я добавляю соответствующие записи в файл web.config (впоследствии его добавление программно вызывает ConstraintException, как и ожидалось).

Что может вызвать такое поведение и есть ли обходной путь? Я не хочу устанавливать SQLite в GAC на сервере Windows 2003.

1 Ответ

0 голосов
/ 17 января 2012

Я бы просто установил Sqlite DLL в каталог bin веб-приложения. Затем он должен быть автоматически выбран процессом разрешения DLL .NET Framework.

...