我正在尝试在SQLite中加载libspatialite扩展。根据{{3}},我下载了最新的installation guide,并将包含的libspatialite.1.1.3.dylib
文件移至/usr/local/lib
。
greg /usr/local/lib $ls | grep libspatialite
libspatialite.1.1.3.dylib
但是,我无法加载扩展程序。
sql> SELECT load_extension('libspatialite.1.1.3.dylib')
[2017-09-19 10:45:25] [1] [SQLITE_ERROR] SQL error or missing database (dlopen(libspatialite.1.1.3.dylib.dylib, 10): image not found)
我还尝试将libspatialite.1.1.3.dylib.dylib
存储在与sqlite文件相同的目录中,但没有运气。
我已确认enable_load_extension
为true
,并且我使用DataGrip作为我的IDE。我也退出DataGrip并重新启动以确保收集任何新的二进制文件。我错过了一些明显的东西吗?
答案 0 :(得分:2)
根据libspatialite的homebrew formula:
新的SQLite3扩展名不会通过
SELECT load_extension("mod_spatialite");
加载,除非命名为mod_spatialite.dylib
(实际上应该是mod_spatialite.bundle)。请参阅:https://groups.google.com/forum/#!topic/spatialite-users/EqJAB8FYRdI
因此,如果手动安装,您需要根据建议重命名动态库文件。或者您可以让Homebrew为您安装:
brew install libspatialite