在Mono上使用Sqlite后端的ASP.NET 2.0应用程序

时间:2009-10-09 19:04:47

标签: asp.net apache sqlite mono

我有一个广泛的ASP.NET Sqlite驱动的应用程序,它将在Mono的帮助下运行Apache。出于测试目的,我创建了一个具有两个文本框和一个按钮的应用程序。当文本框中填充文本并执行按钮时,Sqlite表将接收文本框中的文本。此测试应用程序适用于Visual Studio。

我发布了测试应用程序并将其放在apache服务器上。 Sqlite .db文件位于bin文件夹中,我的连接字符串直接指向此文件夹。当我运行应用程序时,文本框和按钮显示,但是当我按下按钮时,我收到以下错误:

'/'应用程序中的服务器错误 System.Data.SQLite.DLL 描述:HTTP 500.错误处理请求。

堆栈追踪:

System.DllNotFoundException:System.Data.SQLite.DLL at(包装器托管到本机)System.Data.SQLite.UnsafeNativeMethods:sqlite3_open_interop(byte [],int,intptr&)在System.Data.SQLite.SQLite3 .Open(System.String strFilename,SQLiteOpenFlagsEnum flags,Int32 maxPoolSize,Boolean usePool)[0x00000]

WebApplication1._Default.Button1_Click上的WebApplication1._Default.ExecuteQuery(System.String txtQuery)[0x00000]中的System.Data.SQLite.SQLiteConnection.Open()[0x00000]的

(System.Object sender,System.EventArgs e) [0x00000]

在System.Web上的System.Web.UI.Web.UI.Web.trol.Bonton.RaisePostBackEvent(System.String eventArgument)[0x00000]的System.Web.UI.WebControls.Button.OnClick(System.EventArgs e)[0x00000]处。 UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(System.String eventArgument)[0x00000]

System.Web.UI.Page.ProcessRaiseEvents上System.Web.UI.Page.RaisePostBventsEvents()[0x00000]的System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,System.String eventArgument)[0x00000]上的

()[0x00000]

System.Web.UI.Page.ProcessRequest(System.Web.HttpContext context)中的System.Web.UI.Page.InternalProcessRequest()[0x00000]的

[0x00000]

system.data.sqlite.dll文件实际上位于带有sqlite .db文件的bin中。有谁知道如何解决这个错误?

谢谢,

DFM

1 个答案:

答案 0 :(得分:1)

SQLite的ADO.NET提供程序的托管版本需要本机版本 来自http://www.sqlite.org的sqlite3.dll或Linux共享库看起来dll缺失:“DllNotFoundException”