如何在macOS上加载Spatialite SQLite扩展

时间:2017-09-19 15:09:26

标签: macos sqlite spatialite

我正在尝试在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_extensiontrue,并且我使用DataGrip作为我的IDE。我也退出DataGrip并重新启动以确保收集任何新的二进制文件。我错过了一些明显的东西吗?

1 个答案:

答案 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