Фильтры MBO ResultSet - драйвер JDBC
Я пытаюсь объединить два разнородных источника данных в один MBO. Документация Sybase гласит, что вы должны разработать собственный фильтр набора результатов в Java. Хорошо. Ничего страшного. Я немного знаком с JDBC Rowsets, поэтому думаю, что справлюсь с этим. Поэтому я беру JConnect 7 и пытаюсь использовать драйвер JDBC в моем фильтре наборов результатов, чтобы получить набор результатов, который я могу использовать для фильтрации набора данных, возвращаемых из веб-службы, к которой я подключаюсь. Я проверил мою связь с помощью простого теста ниже:
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
Это похоже на проблему с classpath, но у меня есть Jconnect jar в моем пути сборки, и это подтверждается тем фактом, что мой маленький тест проходит успешно. Является ли это проблемой затмения? Использует ли затмение другой путь к классу при выполнении кода для проекта рабочей области Mobile?
1 ответ
Сейчас не могу вспомнить точный путь, но под <SybaseInstallation>/UnwiredWorkspace
папка. Попробуйте добавить туда свою банку.