我想从C#使用System.Data.SQLite提供程序访问SpatiaLite。当我尝试加载SpatiaLite扩展,我总是得到SQLite + SpatiaLite问题
System.Data.SQLite.SQLiteException: SQLite error
The specified module could not be found.
错误,即使spatialite的DLL已经被复制到bin目录。我甚至尝试指定dll的绝对路径,但无济于事。
下面的代码:
string connectionString = @"Data Source=D:\MyStuff\projects\OsmUtils\trunk\Data\Samples\DB\osm.sqlite";
using (SQLiteConnection connection = new SQLiteConnection (connectionString))
{
connection.Open();
using (SQLiteCommand command = connection.CreateCommand())
{
command.CommandText = @"SELECT load_extension('libspatialite-1.dll');";
command.ExecuteScalar();
}
...
从this link给我的感觉这应该工作。
在此先感谢
副本应用程序的bin目录或系统文件夹?我无法得到它的工作..任何线索? – vinayan 2012-11-02 07:28:56
从我记得的@vinayan中,我将它们作为文件添加到C#项目,然后将它们的属性设置为“Copy if newer”。所以是的,他们在应用程序的bin目录中。 – 2012-11-02 08:13:30