当前位置: 首页 > 知识库问答 >
问题:

运行时在服务器节点上找不到自定义SQL函数

阳勇
2023-03-14

客户端Java应用程序中使用自定义SQL函数时,如https://apacheignite-sql.readme.io/docs/custom-sql-functions所述,它对我来说工作很好。然而,当它被部署到其lib目录中并通过JDBC通过标准SQL调用时,Ignite说

<property name="cacheConfiguration">
        <list>
                <bean class="org.apache.ignite.configuration.CacheConfiguration">
                        <property name="name" value="MyFunctions"/>
                        <property name="sqlFunctionClasses" value="MyFunctions"/>
                </bean>
        </list>
</property>

“缓存配置不匹配(本地缓存是通过Ignite API创建的,而远程缓存是通过CREATE TABLE创建的):”

Ignite确实加载了自定义Java jar文件,因为当它没有被部署时,Ignite会说它不能加载自定义类。

查询是

从sqr(2)>100的国家选择*;

在通过JDBC发出的SQL语句中使用自定义SQL函数,需要对Ignite服务器节点进行哪些更改?

多谢了。

共有1个答案

屈健柏
2023-03-14

对于初学者,SqlFunctionClasss应该完全限定,如com.your.package.myFunctions

您还应该将它添加到Country cache,而不是MyFunctions。如果Country确实是用create table创建的,您可以尝试在缓存模板中定义它。例如。您可以将与“template=myfunctions”一起使用。

 类似资料:
  • 我试图实现的是将Angular 9应用程序部署到具有Linux操作系统的Azure应用程序服务中(Windows不适合我,因为Linux更便宜)。我使用Node 14 runtime创建了Linux web应用程序。部署应用程序后,我会看到Azure默认网页。我试图解决这个问题,正如这里所描述的 我在具有节点14运行时的Linux web app上执行的步骤: > 我加了这个 pm2服务 /hom

  • 问题内容: 我试图启动我的自定义TextSecure(信号)服务器。我想将其用于Signal拥有的所有功能(SMS和电话)。我相信我也需要Redphone服务器来运行电话。我发现只有TextSecure服务器的github 仓库是https://github.com/WhisperSystems/TextSecure- Server, 但是没有Redphone服务器的仓库。 我认为我还需要运行此服

  • 问题内容: 通过下载并安装Visual Studio Code 1.2.1版本,并在工作目录中放置64位版本的node.exe msi(我认为这是正确的),我们如何添加node和npm命令行工具?我们的路径?我对理解这一说法感到困惑。我们在哪里以及如何实施?我直接从此资源页面的顶部引用了此要求- https: //code.visualstudio.com/Docs/runtimes/nodejs

  • 问题内容: 我在CI和CD上创建了Jenkinsfile,Dockerfile,Dockerfile.test到CI和CD,在GitHub上构建了我的服务器API,我在Jenkins上构建了该构建,并且构建成功,并且我的docker在Jenkinsfile阶段也在容器上运行,我创建了用于测试和部署在服务器API上,并使用docker作为容器 我也使用docker-compose在docker上运行

  • 问题内容: 我编写了一个php程序,该程序使用ffmpeg从图像序列创建视频。 当我运行它时 它说,, 没有找到 。 ffmpeg:/opt/lampp/lib/libstdc++.so.6:版本’GLIBCXX_3.4.15’不是 找到(由/usr/lib/i386-linux-gnu/libjack.so.0要求)ffmpeg: /opt/lampp/lib/libstdc++.so.6:找不