Navicate加载Spatialite扩展实现sqlite直接操作空间数据。


前言

最近在做安卓开发,一直涉及到空间数据的存储,安卓是使用了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扩展方式了,有一点不好的地方在于每次使用都需要重新加载,并不能一劳永逸。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值