设置 DBD::SQLite 以支持 sqlite3 的自定义版本

问题描述 投票:0回答:2

当我将超过 998 个变量传递到 SQL 查询中时,使用包默认版本的

too many SQL variables
会出现
sqlite3
错误。

针对我的操作系统和版本使用

sqlite3
打包的
yum
二进制文件是在编译时支持默认变量名称(实际上,有 999 个)。

我从源代码编译了

sqlite3
的版本,使用修改后的标头将此默认值提高到更实际的值(例如 99999)。

为了将

sqlite3
的这个自定义版本与 Perl 及其 DBI 接口集成到 DBD::SQLite 插件 — 以便能够使用这个新限制 — 我对 Perl DBD::SQLite 插件进行了哪些修改,例如它将使用
sqlite3
的修改版本,而不是当前似乎使用的打包二进制文件(或其库)?

perl sqlite dbi dbd
2个回答
3
投票

请检查文档以了解

DBD::SQLite
在标题下 SQLITE 版本

它有关于它使用的 SQLite 库的信息

为了保持一致性,

DBD::SQLite
通常使用捆绑的 SQLite 库(截至本发行版的 SQLite 版本 3.22.0)进行编译。然而,有时出于某些原因(例如安全性或一些新的实验性功能)可能会使用不同版本的 SQLite。

另请参阅同一文档中的

DBD::SQLite::compile_options()


0
投票

我刚刚下载了我想要的版本的合并版本,并在 DBD::SQLite 附带的现有文件上放入了三个文件

sqlite3.c
sqlite3.h
sqlite3ext.h
,并且它起作用了。

© www.soinside.com 2019 - 2024. All rights reserved.