我正在尝试将两个不同的数据源合并为一个MBO。 sybase文档指出您必须在java中开发自定义结果集过滤器。好。没什么大不了。我对JDBC Rowsets有些熟悉,所以我想我可以处理这个问题。所以我去抓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,这可以通过我的小测试成功运行来验证。这是一个日食问题..在为Mobile工作区项目执行代码时是否使用不同的类路径进行eclipse?
答案 0 :(得分:0)
现在无法记住确切路径,但<SybaseInstallation>/UnwiredWorkspace
文件夹下有第三方lib文件夹。尝试在那里添加你的罐子。