Приведен метод в котором выполняются основные действия Не забываем выполнить import java.sql.*; перед созданием класса. Для избежания ошибки Not copying library D:\NetBeans and Oracle Connect2\${libs.Oracle.classpath} , it can't be read., при компиляции проекта. Необходимо добавить библиотеку "ojdbc6.jar"
public void connect() { try { String str = ""; // Выводимый результат
String url; Connection cntn; // Связь Statement stmt; // Выполенение ResultSet rset; // Результат // Загрузка класса драйвера базы данных при отсутствии экземпляра этого класса String oracleDriver = "oracle.jdbc.driver.OracleDriver"; String server = tfServer.getText(); //"localhost" String port = tfPort.getText();//"1521" String sid = tfSID.getText();//"XE" String username = tfUsername.getText();//"scott" String password = pfPassword.getText();//"tiger"
// Использования thin драйвера позволяет независить от установленного на Пк Oracle клиента url = "jdbc:oracle:thin:@" + server + ":" + port + ":" + sid; // Выполняется собственно загрузка драйвера в память и становится возможным соединение с СУБД Class.forName(oracleDriver); // Установка соединения с БД. // Для установки соединения с БД вызывается статический метод getConnection() класса DriverManager. // В качестве параметров методу передаются URL базы данных, логин пользователя БД и пароль доступа. // Метод возвращает объект Connection и будет одно установленное соединение с БД // Усли соединение не будет установлено попадем в Exception cntn = DriverManager.getConnection(url, username, password); // Создание объекта для передачи запросов. // После создания объекта Connection и установки соединения можно начинать работу с БД // с помощью операторов SQL. // Для выполнения запросов применяется объект Statement, создаваемый вызовом метода createStatement() // класса Connection stmt = cntn.createStatement(); // Выполнение запроса // Для добавления, удаления или изменения информации в таблице вместо метода executeQuery() // запрос помещается в метод executeUpdate() rset = stmt.executeQuery("SELECT * FROM v$version UNION ALL SELECT 'Текущее время: ' ||TO_CHAR(sysdate, 'DD.MM.RRRR HH24:MI:SS') FROM dual"); // Обработка результатов выполнения запроса // При первом вызове метода next() указатель перемещается // на таблицу результатов выборки в позицию первой строки таблицы ответа. // Когда строки закончатся, метод возвратит значение false while (rset.next()) { //getString(int columnIndex) - указываем значение какой колонки надо вернуть str = str + rset.getString(1) + "<br>"; } // Закрытие соединения cntn.close(); btConnect.setFont(new java.awt.Font("Tahoma", 0, 11)); btConnect.setText("<html>" + str);
} catch (ClassNotFoundException e) { btConnect.setText("Нет соединения (ClassNotFoundException)" + e.getMessage()); } catch (SQLException e) { btConnect.setText("<html>" + e.getMessage()); } }
Внешний вид
Для ленивых можно скачать тут
|