相关疑难解决方法(0)

SQLite + SpatiaLite问题

我正在尝试使用System.Data.SQLite提供程序从C#访问SpatiaLite.当我尝试加载SpatiaLite扩展时,我总是得到

System.Data.SQLite.SQLiteException: SQLite error
The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

即使已将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();
    }
    ...
Run Code Online (Sandbox Code Playgroud)

这个链接我得到的印象应该工作.

提前致谢

c# sqlite gis spatialite

8
推荐指数
1
解决办法
5913
查看次数

使用Python 2和3的Spatialite

我试图spatialite在Windows 7上同时使用Python 2和3.

而不是试图修补pyspatialite的Python 3,我决定用load_extension与方法sqlite3Python的内置包,类似于这里是如何做的:sqlite的load_extension在Python失败spatialite这里:使用spatialite扩展SQLite的Windows上.

但是,在官方(C)Python 2.7安装程序上,load_extension已针对与MacOS相关的问题禁用了该安装程序.这与Python 3.4的对应物不同.此外,两个安装程序都是在没有SQLITE_ENABLE_RTREE=1(我也想拥有)的情况下构建的.

首先,对于Python 2.7,一种解决方法是构建pysqlite调整安装文件以同时拥有R*Tree和扩展.这种方式不适用于Python 3,因为它似乎不受当前支持setup.py.据我所知,这是因为包移到了核心Python存储库:https://github.com/ghaering/pysqlite/issues/72#issuecomment-94319589

我目前的解决方案是使用所需的sqlite3包设置重新构建Python 2.7和3.4 .它工作,我能够加载spatialite作为扩展并创建R*树.

它是否存在替代的更简单的解决方案?难道有人找到对工作的替代解决方案setup.pypyspatialite还是pysqlite

sqlite spatialite python-2.7 python-3.x

5
推荐指数
1
解决办法
2339
查看次数

标签 统计

spatialite ×2

sqlite ×2

c# ×1

gis ×1

python-2.7 ×1

python-3.x ×1