我正在尝试将两个不同的数据源合并到一个 MBO 中。sybase 文档指出您必须在 java 中开发自定义结果集过滤器。好的。没什么大不了。我对 JDBC 行集有点熟悉,所以我想我可能可以处理这个问题。所以我去抓取 JConnect 7 并尝试在我的结果集过滤器中使用 JDBC 驱动程序来获取一个结果集,我可以使用它来过滤从我连接到的 Web 服务返回的数据集。我用下面的简单测试测试了我的连接:
try
{
DriverManager.registerDriver((Driver)Class.forName("com.sybase.jdbc4.jdbc.SybDriver").newInstance());
Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:localhost:5500", "dba", "sql");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * from traveler where traveler_id = 1");
while (rs.next())
{
System.out.println(rs.getRow());
}
} catch (Exception se)
{
se.printStackTrace();
}
其中我得到了一个返回的行数,这是我所期待的。问题是,当我在 ResultSet 过滤器类中实现相同的代码并尝试在 MBO 中预览它时,我在 Eclipse 调试控制台中收到以下错误(为了清晰起见进行了蒸馏):
22:14:20 [ERROR] [ExecuteSection]: Execution error
java.lang.reflect.InvocationTargetException...
[...]
Caused by: java.lang.UnsatisfiedLinkError: no dbjodbc11 in java.library.path
这看起来像是一个类路径问题,但我的构建路径中有 Jconnect jar,这可以通过我的小测试成功运行的事实得到验证。这是 Eclipse 问题吗?在为 Mobile 工作区项目执行代码时,Eclipse 是否使用不同的类路径?