总是报错:
root@gitlab:/opt# newlisp newLISP v.10.6.0 64-bit on Linux IPv4/6 UTF-8 libffi, options: newlisp -h > (load "/opt/mysql.lsp") ERR: string expected in function import : libmysqlclient
结果发现是Ubuntu 12.04下安装的libmysqlclient.so的路径不正常,用 find / -name查找, 将真实路径加入到mysql.lsp文件里
;;; Find the libmysqlclient library on this system (setf is-64-bit nil) (let ((paths ‘("/usr/lib/libmysqlclient.so" "/usr/lib/x86_64-linux-gnu/libmysqlclient.so" ;;here "/usr/lib64/mysql/libmysqlclient.so" "/usr/local/mysql/lib/libmysqlclient.dylib" "/opt/local/lib/libmysqlclient.dylib" "/sw/lib/libmysqlclient.dylib")))
好了,载入模块成功:
> (load "/opt/mysql.lsp") MAIN
但是连接数据库报错,原来是没有跟上newllisp 10.6.0的步伐。 如今获取最新的未測试的代码:
git clone https://gist.github.com/10490156.git
> (load "/opt/10490156/mysql.lsp") MAIN > _MYSQL:is-64-bit true > (setf db (Mysql)) (Mysql 10710960) > (:connect db "localhost" "root" "770328" "mysql") true > (:query db "show tables") (MysqlResult 10812080) > (exit)
似乎可用了,详细还要等作者完毕測试。
http://www.newlispfanclub.alh.net/forum/viewtopic.php?f=16&t=4502
http://www.artfulcode.net/articles/a-better-mysql-module-for-newlisp/