ET2 发表于 2018-4-23 17:33:05

请问能否在LISP中读取和操作SQLite数据库

有没有哪位大神有实际操作过。有无解决方案?

yxp 发表于 2018-4-23 21:40:00

简单,将 SQLite3 的函数导入 Lisp 即可,代码如下:

(setq dwx (vlax-create-object "DynamicWrapperX"))
;;打开快速数据库
(vlax-invoke dwx 'Register "SQLite3" "sqlite3_open16" "i=pp" "r=m")
;;关闭快速数据库
(vlax-invoke dwx 'Register "SQLite3" "sqlite3_close" "i=p" "r=m")

南风枕流 发表于 2022-1-31 09:06:19

@yxp用你的方法访问sqlite,一运行就退出CAD了。(vlax-invoke-method dwx 'Register "D:\\bdwg\\dwx\\sqlite3.dll" "sqlite3_open16" "i=pp" "r=m")
(vlax-invoke-method dwx 'sqlite3_open16 "D:\\bdwg\\dwx\\user.db""i=p" "r=m")
不知道什么原因。想向您请教一下。

ET2 发表于 2018-4-24 09:49:11

yxp 发表于 2018-4-23 21:40
简单,将 SQLite3 的函数导入 Lisp 即可,代码如下:

感谢赐教,我试着将代码进行测试,不过运行第1句创建对象即显示为nil.请指教是哪里有问题。我的系统是win10 64位,已安装sqlite3

vectra 发表于 2018-4-23 19:56:05

找ActiveX控件
.net 封装SQLite接口供LISP使用

ET2 发表于 2018-4-24 10:07:34

比如说我有一个sqlite3的数据库,我现在只能把它转成txt文件,然后利用lisp对txt的操作函数进行处理。这样的效率很慢。大神们能否提供个方法,实现直接读出数据库表中我所需的数据?

vectra 发表于 2018-4-24 11:46:29

搜索ADOlisp、sqliteodbc应该能行

如果你是一次性读入数据 慢点也无所谓哈

ET2 发表于 2018-4-24 11:49:22

谢谢指路,我先去摸索一下。

ET2 发表于 2018-4-24 11:53:55

这些示例好象都是access数据库,同样的代码,打不开sqlite3数据

yxp 发表于 2018-4-24 14:21:34

ET2 发表于 2018-4-24 09:49
感谢赐教,我试着将代码进行测试,不过运行第1句创建对象即显示为nil.请指教是哪里有问题。我的系统是win ...

需要注册一个 DynamicWrapperX ,搜一下,论坛里有。

dcl1214 发表于 2019-12-10 19:30:41

lisp可以通过http访问sqlite数据库,需要用go语言开发一个中间层,支持高并发
页: [1] 2
查看完整版本: 请问能否在LISP中读取和操作SQLite数据库