oracle - 使用 Oracle ojdbc 的 Servicemix
问题描述
我想在项目中直接使用 jdbc 进行服务组合。我试图安装 ojdbc7.jar
捆绑:安装包装:文件:F:/tmp/ojdbc7.jar
开始后我得到 264 | 活跃 | 80 | 0 | wrap_file_F__tmp_ojd bc7.jar
我的代码是:
try (final Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl2", "bla", "bla")) {
String sql = "Insert INTO message values('" + fall.getMessageid() + "','" + fall.getXml() + "')";
final Statement statement = con.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
String msg = "Error while trying to persist Fall with msgid " + fall.getMessageid();
log.error(msg, e);
throw new AdvisException(msg, e);
}
我得到 java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:1521/orcl2
我是否必须添加一些额外的配置或其他东西?
编辑:
我想我必须以某种方式在 MANIFEST.MF 中导入已安装的捆绑包
问题1:
我已经声明了依赖
<dependency>
<groupId>com.oracle</groupId>
<artifactId>oracle-jdbc</artifactId>
<version>6.0.0</version>
</dependency>
并使用
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Import-Package>*</Import-Package>
<Private-Package>de.iteos</Private-Package>
</instructions>
</configuration>
但 ojdbc6 没有显示导入:
Import-Package: javax.jws,javax.xml.bind,javax.xml.bind.annotation,javax
.xml.bind.annotation.adapters,javax.xml.datatype,javax.xml.namespace,ja
vax.xml.parsers,javax.xml.transform,javax.xml.transform.stream,javax.xm
l.ws,javax.xml.xpath,org.apache.activemq,org.apache.activemq.camel.comp
onent,org.apache.camel;version="[2.16,3)",org.slf4j;version="[1.7,2)",o
rg.w3c.dom,org.xml.sax
为什么?
问题2:安装后的bundle名称可能不兼容我该如何更改?
解决方案
我通过将 ojdbc 驱动程序复制到 apache-servicemix-7.0.1\lib\ext 解决了这个问题
推荐阅读
- ubuntu - 使用 gnuplot 绘制进程树
- haskell - Is this idiomatic Haskell - Two Sum Question
- javascript - JS 在 iOS 设备上无法正常工作 - 仅有时
- php - 将集合中的值相乘
- java - 我怎样才能在java中更快地做到这一点?复制长字符串的字符
- c++ - 三向比较取代了除 == 之外的所有其他比较运算符?
- reactjs - 未捕获的 DOMException:无法在“IDBObjectStore”上执行“删除”:事务未处于活动状态
- macos - 为节点 v12 安装 babel cli 时出现奇怪的错误日志
- java - 使用 OR-Tools 表达多变量约束
- pytorch - 强化学习中是否有任何方法可以选择多个同时动作?