问题标签 [jcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
187 浏览

java - 导入 JCC 时出错。找不到 libjava.so

我在尝试安装 PyLucene 时遇到问题。我正在运行提供的 Makefile,但在第 385 行出现错误:

makefile 中导致错误的行python -m jcc有很多 .jar 文件作为选项。我也在没有任何选项的情况下运行它,并得到同样的错误。

我相信我正确地构建了 jcc,但是python setup.py install在构建 jcc 时我确实没有使用 sudo,因为我在使用的机器上没有 sudo 权限。不确定这是否是导致此问题的原因。

最后,在构建 jcc 时链接 libjava.so 和 libjvm.so 存在一些问题,因为我使用的机器在 jdk 文件夹的子文件夹中没有 jvm,这就是 python 脚本(setup.py ) 默认情况下查找库文件。我可以通过更改 setup.py 中的 -L 标志来解决这个问题。我以为发生了类似的问题,但是在检查了 site-packages/JCC.../jcc 中的 config.py 文件后,这些标志似乎是正确的。

不太确定,从这里去哪里。任何帮助,将不胜感激。我正在尝试在带有 java 11 和 python 3.7.4 的 ubuntu 18.04 上安装它

0 投票
1 回答
91 浏览

sql - 如果 SQL :parameter 在 DB2 JDBC 中为“ALL”,如何匹配所有行?

这只是重现错误的示例代码

上面的语句应该返回第一行 if'A' 被分配给PARAM参数,第二行 if'B'等等......否则,如果'ALL'被分配给PARAM然后所有行都应该被返回。

令人惊讶的是,它不起作用。

这是应用程序输出:

JDBC 跟踪文件在此处上传

我将完整的示例项目代码推送到https://github.com/noureldin-eg/db2-sql-error并在README中添加了构建和运行它所需的所有步骤。您还可以在https://hub.docker.com/r/noureldin/db2-sql-error上找到预构建的 docker 映像

我知道有很多解决方法(例如,如果参数在 java 中替换,如注释中所示,它会按预期工作)但我想了解我在这里缺少什么。


更新于 2021 年 10 月 22 日下午 1:30 (UTC)

我发现ParameterMetaData API在调试这个问题时非常有用。

上面的代码显示我的命名参数在后台转换为参数标记样式的 2 个问号 (?)。我已经从跟踪文件中注意到了这一点,但现在很明显每个文件都有自己的类型和长度。

这就是为什么SqlDataException如果我的参数的字符长度超过它们中的任何一个,我会得到。我希望这可以帮助任何面临类似错误的人。

0 投票
0 回答
28 浏览

java - 什么可能导致“java.lang.InternalError:inflateInit2 返回 Z_STREAM_ERROR”?

我们在日志中看到一个 Java 异常,我们很难重现该异常。

根据https://www.zlib.net/manual.htmlinflateInit2返回以下内容:

如果成功,inflateInit2 返回 Z_OK,如果内存不足,则返回 Z_MEM_ERROR,如果 zlib 库版本与调用者假定的版本不兼容,则返回 Z_VERSION_ERROR,如果参数无效,则返回 Z_STREAM_ERROR,例如指向结构的空指针。

因此,在尝试加载 Java 类时发生异常,并且在访问 JAR 时本地 zlib 调用失败,因为向此调用提供了无效参数。什么可能导致这些参数变得无效?

抛出这个的上下文实际上是一个 Python(Java API 包装)扩展,使用JCC(Apache Lucene)构建,在 CentOS 7 Linux 系统上运行在 Python 2.7.5 和 OpenJDK 1.8.0_212-b04 中。