求助: Mac版JSA如何连接DuckDB数据库?

请问Mac版JSA 要如何连接DuckDB数据库? DuckDB对应的ODBC驱动在Mac里都配置好了,且连接成功。 但不知道Mac版的JSA里要如何编写连接字符串?或者有没有其它的写法。 WPS社区里搜了一下几乎没有关于Mac版JSA连接数据库的操作,翻到了一篇linux连接oracle的,其中的信息也不具普适性。 现在都是多源混算,连接数据库也算是一个刚需,大佬们得闲时可否指导一下,谢谢。
湖北省
浏览 752
收藏
6
分享
6 +1
21
+1
全部评论 21
 
王子陶
王子陶

@金山办公

我试了一下,用brew安装duckdb以后可以直接加载. 我用的是x64 macos虚拟机, brew安装目录在/usr/local下. 另外, 关于C++头文件转换, 可以直接用ai来完成.
· 广东省
回复
jbian
好的,谢谢大佬花时间给予帮助。 那问题出在我这边的机器上了,我的是老版本Mac,brew 一直有问题。 头文件先不管了。我先把加载问题解决。 感谢非常
· 湖北省
回复
 
jbian
算了,放弃了。能试的都试了,还是加载不了。即使加载成功,后续还要根据头文件写一大堆函数。显然,这种方法是极其不友好的。多源混算的时代,企业级数据远不止一个电子表格行数,像大型csv,txt这些文本文件,甚至像parquet这种二进制文件,数据库就更不用说了,这种数据源应该以一种爷爷奶奶辈都友好的方法就能读取解析,而不是让用户写一堆神符乱码,除了自我感动,毫无他用。再说了会C,C++,JAVA这些高级语言的基本也告别电子表格了。
· 湖北省
1
回复
王子陶
王子陶

@金山办公

所以最好的方法还是js宏只当前端, 数据库访问放在后端. 后端可以选用nodejs+nest, ffi最核心的作用还是调用本地系统接口(当然macos对ffi很不友好).
· 广东省
1
回复
 
jbian
@王子陶 请看附件图片中的信息,用你说的方法加载sqlite3动态库是成功的。 加载duckdb动态库时,返回一个动态库中的错误,说是第426行有问题。
· 湖北省
1
回复
王子陶
王子陶

@金山办公

macos的沙箱会限制动态库的路径. 可以用/usr/local/lib目录
· 广东省
1
回复
 
jbian
@王子陶 大佬,麻烦请看附件图片中的信息,我用其它方法加载了一个libduckdb.dylib动态库,结果显示能正确加载,且返回了其中一个函数的信息。但在WPS JS宏中用ffi.LoadLibrary始终无法加载成功,尝试了各种能搜到的方法,修改依赖,修改相对路径,还是不行,始终找不到问题的症结所在。恳请大佬方便的时候指导一下,如何才能加载成功。
· 湖北省
1
回复
 
王子陶
王子陶

@金山办公

1. duckdb 本身有个C语言sdk, js宏可以用ffi机制调用C语言的动态库,来调用duckdb客户端, 但前提是会C语言编程. 2. 做个http的后端, 可以用js宏用http连接后端 3. odbc本身有C语言动态库, 用ffi调用
· 广东省
1
回复
jbian
感谢大佬关注回复 这3行回复惊到小白了,我要是会C会后端,还玩什么表格啊 WPS Mac版JSA不能有一个易用一些小白友好的数据库连接吗? Mac版的Excel非常不好用,如果要用回Win版,目前用EXCEL对数据分析的选项更多一些。 但EXCEL的VBA对DuckDB的中文支持极其不友好。外国佬真的是无语。
· 湖北省
1
回复
 
jbian
WPS官方是不是不关心社区的提问?几天不见动静。可千万不能有官僚作风。 这一点真得跟润乾集算器学一下,提问秒回,功能需求半天之内解决。
· 湖北省
1
回复