使用 SEM_MATCH 函数运行查询时出现“未安装 JAVAVM”

Posted

技术标签:

【中文标题】使用 SEM_MATCH 函数运行查询时出现“未安装 JAVAVM”【英文标题】:"JAVAVM Not Installed" when running a query with a SEM_MATCH function 【发布时间】:2021-11-15 20:04:54 【问题描述】:

我正在尝试使用 Oracle DB 中的图形功能构建一个简单的示例,但在运行 SPARQL 查询时遇到了问题。我添加了一些数据,如in the guide 所示,这似乎工作正常。接下来我尝试使用 SEM_MATCH 函数运行一个简单的 SPARQL 查询:

SELECT s$rdfterm S, p$rdfterm P, o$rdfterm O
  FROM TABLE(SEM_MATCH(
    'SELECT ?s ?p ?o WHERE ?s ?p ?o.',
    SEM_Models('harness'),
    null, null,  null, null,
    ' PLUS_RDFT=VC ',
    null, null,
    'RDFUSER', 'NET1'));

这样的结果是一个错误:

ORA-13199: JAVAVM is not installed
ORA-06512: at "MDSYS.RDF_MATCH_IMPL_T", line 161
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_RDF_JAVA_STP", line 5
ORA-06512: at "MDSYS.SDO_RDF_JAVA_STP", line 39
ORA-06512: at "MDSYS.RDF_MATCH_IMPL_T", line 1952
ORA-06512: at "MDSYS.RDF_MATCH_IMPL_T", line 148
ORA-06512: at line 4
13199. 00000 -  "%s"
*Cause:    This is an internal error.
*Action:   Contact Oracle Support Services.

错误表明没有安装 JAVAVM,但据我所知,它是在 DBA 注册表中列出的:

并且Java选项设置为True:

是否需要授予用户某种权限才能执行此查询?

【问题讨论】:

【参考方案1】:

我安装 Oracle Spatial 时,没有安装 JAVAVM;我遇到了这个错误并随后安装了 JAVAVM,但它并没有解决问题。解决它的是之后重新安装Spatial,所以看起来JAVAVM必须在Spatial之前安装。

【讨论】:

以上是关于使用 SEM_MATCH 函数运行查询时出现“未安装 JAVAVM”的主要内容,如果未能解决你的问题,请参考以下文章

使用 web3.py 查询远程以太坊节点时出现间歇性“读取超时”错误

使用查询变量时出现 Gatsby 运行时错误

使用 Criteria 运行子查询时出现 ClassCastException (String to Long)

使用 mysql2 运行大型 INSERT 查询时出现异常

使用 openquery 运行 MDX 查询时出现错误代码 7321

使用查询数据库的默认字段函数迁移时出现 Django 错误