Navicate加载Spatialite扩展实现sqlite直接操作空间数据。
本文介绍了如何在Navicat中加载Spatialite扩展以支持SQLite数据库的空间数据操作。首先,从官网下载适合的Spatialite版本并解压,然后将所有DLL文件复制到Navicat的安装目录。接着,在Navicat中打开SQLite文件,执行SQL命令加载mod_spatialite.dll,并验证Spatialite版本号。成功加载后,即可使用空间函数操作数据库。需要注意的是,每次
前言
最近在做安卓开发,一直涉及到空间数据的存储,安卓是使用了spatialite-android封装好的jar包去操作sqlite数据库,但是把sqlite拷贝出来后用navicate打开后反而无法直接进行那些空间函数的使用。
一、spatialite是什么
spatialite是在sqlite的外部再包了一层空间数据的封装。
二、使用步骤
1.下载spatialite
下载地址
网址界面如下图,32位电脑就下载32的版本,64就下载64位的版本,我也不知道为什么64位后面要加个amd。
2.解压压缩包
下载完成后解压代码压缩包,会得到许多dll文件。
3.将所有的dll迁移
可能并不需要所有的dll,但我为了方便省事,直接全部复制了。将所有的文件迁移到navicate的安装目录。例如:D:\Program Files\PremiumSoft\Navicat Premium 17,这是我本地的安装目录。可自行替换。
4.激活mod_spatialite.dll
使用navicate打开你本地的sqlite文件,可能需要注意sqlite的版本,低版本的sqlite不一定支持高版本的spatialite。大家可以使用下面的sql进行查询,查询自己的sqlite版本是多少。本人sqlite版本为3.45.0
SELECT sqlite_version();
打开sqlite之后执行
SELECT load_extension('mod_spatialite.dll');
开始网上很多教程都是让人使用绝对路径去使用这个dll, 例如:
SELECT load_extension('D:\mod\mod_spatialite.dll');
不确定是不是我路径有问题,或者拼写有问题,一直报错找不到模块,后续还是直接迁移dll到navicate安装目录才能一次性成功。大家有兴趣的可以接着试试采用绝对路径的方式,看看能否成功,成功了的话可以给我留言。
执行完加载mod_spatialite.dll没有错误的情况下进行执行。
SELECT spatialite_version();
成功之后返回spatialite版本号。然后就可以使用一些空间函数去操作数据库了。
总结
以上就是在navicate中加载sqlite的spatialite扩展方式了,有一点不好的地方在于每次使用都需要重新加载,并不能一劳永逸。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)