Я использую 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.