Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Po_Tp.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.44 Mб
Скачать

3. Отладка приложений jdbc

Отладка приложения JDBC оказывается более сложной, чем отладка простого апплета Java, сервлета или автономного приложения, поскольку она включает в себя дополнительные уровни программного обеспечения для взаимодействия с базой данных. Дело еще более усложняется тем, что часть драйвера JDBC может быть реализована в виде двоичной библиотеки, которая недоступна для отладчика JDB, являющегося стандартным инструментальным средством отладки, входящим в состав пакета JDK.

К счастью, в интерфейсе JDBC предусмотрен механизм просмотра операторов, обрабатываемых драйвером, а также информации, возвращаемой из базы данных. Для регистрации информации драйвера в файле или в стандартном выводе можно воспользоваться методом setLogStream() класса DriverManager:

DriverManager.setLogStream(System.out);

Метод setLogStream() класса DriverManager воспринимает любой объект класса java.io.PrintStream. Предоставляемая информация включает вызываемый метод JDBC, значения параметров и возвращаемые данные. В некоторых случаях предоставляется дополнительная информация для конкретного драйвера, которая может оказаться еще более полезной. Например, драйверы Oracle могут регистрировать базовые функции, параметры и возвращаемые значения интерфейса OCI, обрабатываемые драйвером в результате вызова интерфейса JDBC. Зарегистрированную таким образом информацию можно использовать для определения вызовов вне заданной последовательности, синтаксических ошибок SQL и других программных ошибок. В некоторых случаях она позволяет также обнаружить недокументированные средства драйвера.

Кроме того, можно воспользоваться инструментальным средством JDBCTest только на языке Java, разработанным компаниями JavaSoft и Intersolv для проверки драйверов JDBC. Оно содержит графический интерфейс и систему меню для выполнения вызовов API-интерфейса JDBC. Вызовы интерфейса JDBC, которые приводят к ошибкам в приложениях, могут быть выполнены через этот интерфейс, чтобы определить, была ли данная ошибка вызвана драйвером или кодом приложения. Это инструментальное средство проверки может оказаться особенно полезным при выборе одного или нескольких драйверов для проектирования и разработки приложения. Например, нельзя заранее сказать, что драйвер OracleS будет поддерживать абстрактные типы данных и коллекции OracleS с помощью методов set0bject() и get0bject(). Эти весьма специфические для RDBMS средства не обязательно должны быть полностью совместимы с интерфейсом JDBC.

К сожалению, средство JDBCTest может не работать с драйверами только на языке Java. Большинству драйверов только на языке Java требуется код для установления взаимодействия с серверным компонентом перед регистрацией драйвера и установлением соединения. Многие из этих драйверов имеют нестандартные реализации общепринятых методов, превращая тем самым JDBCTest просто в непригодное для указанных выше целей инструментальное средство. Компания JavaSoft предоставляет более автоматизированное инструментальное средство проверки (программу проверки интерфейса JDBC), а также ряд тестовых комплектов, используемых вместе с этой программой проверки. Это инструментальное средство является более гибким, поскольку оно работает под управлением файла конфигурации и позволяет выполнять разработку специализированных проверочных комплектов с минимальными усилиями. Надлежащая проверка на предшествующем проектированию этапе даст возможность заранее обнаружить присущие конкретному драйверу ограничения, что позволит избежать многих проблем в процессе разработки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]