Фильтры 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 папка. Попробуйте добавить туда свою банку.

Другие вопросы по тегам