我将SQLite(1.0.77.0)用于特定的Web服务,但由于各种原因,我无法触及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,如预期的那样)。
导致此行为的原因是什么?有解决方法吗?我不想在Windows 2003服务器上将SQLite安装到GAC中。
答案 0 :(得分:0)
我只是将Sqlite DLL安装到Web应用程序的bin目录中。然后它应该由.Net框架DLL解析过程自动获取。