![在 Hyperic Server 中安装 JDBC 驱动程序的位置](https://linux22.com/image/538237/%E5%9C%A8%20Hyperic%20Server%20%E4%B8%AD%E5%AE%89%E8%A3%85%20JDBC%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
我已经安装了 Hyperic Server 4.4.0,我想使用连接到 Oracle 数据库的 SQL 插件。为了在代理上实现此功能,我必须下载 Oracle 的 JDBC 驱动程序并将其放入[agent-dir]/bundles/[bundle-dir]/pdk/lib
。现在我可以使用在代理上运行我的插件java -jar hq-products.jar ...
。
现在我想添加它,以便它显示在服务器总部。我将插件放在适当的目录中,然后可以将其添加为平台服务。但是,当我尝试配置插件时,出现以下错误:
未找到适合 jdbc:oracle:thin:@blah.blah:blah:blah 的驱动程序
在我添加 Oracle JDBC 驱动程序之前,我在客户端上遇到过同样的错误,因此我猜想这也是问题所在。但是我应该将 JDBC 驱动程序放在服务器上的什么位置呢?
答案1
您可以使用CLASSPATH
环境变量或-cp
java 命令行设置。在您的环境中执行以下操作:
export CLASSPATH=.:/usr/local/jdbc_drivers/*
并将 JDBC 驱动程序放入该目录。
答案2
事实证明,问题出在代理上,而不是服务器上。服务器似乎根本不需要 JDBC 驱动程序,这很有道理。
如上所述,我已将驱动程序放在代理中[agent-dir]/bundles/[bundle-dir]/pdk/lib
,但实际上应该将其放在中[agent-dir]/bundles/[bundle-dir]/pdk/lib/jdbc
。它之所以仅在代理上运行时有效,可能是因为我已将 ` 添加到插件定义中。将驱动程序移动到正确位置后,我现在可以将其删除。
因此,总而言之,Oracle JDBC 驱动程序仅在代理上需要,并且它应该存在在这里:
[agent-dir]/bundles/[bundle-dir]/pdk/lib/jdbc