Свидание с Оракулом Константин Клягин Спецвыпуск: Хакер, номер #052, стр. 052-032-4 Работаем с данными: C++ Раньше, чтобы достучаться к Oracle из программы, написанной на C или C++, приходилось пользоваться OCI (Oracle Call Interface), который, хотя и был изрядно гибким, страдал главным недостатком универсальных решений - отсутствием легких путей. Требовалось вызвать как минимум пять разных функций библиотеки, чтобы сделать простой запрос к БД. Кроме этого, приходилось выделять память для множества структур, вследствие чего нередко случались утечки. Для упрощения кодинга были написаны десятки библиотек-надстроек, как для C, так и для C++. Каждый стремился написать для этого свое изделие, и в программизме под Oracle царила изрядная неразбериха. Наконец, подумав в течение довольно продолжительного времени, ребята решили предоставить C++ разработчикам более удобный и, что немаловажно, стандартный интерфейс. Называется он OCCI. Пользоваться им просто, основы этого процесса можно понять с помощью небольшого откомментированного листинга, который лежит на нашем диске (файл – occi.txt). Работаем с данными: PHP Помимо C++, с базами Oracle можно работать из массы других языков программирования. API есть под все. Возьмем излюбленный инструмент web-девелопера - PHP. Тут у нас имеются три интерфейса для доступа. Это ODBC, старая (стандартная поддержка) Oracle и, наконец, самый гибкий и продвинутый интерфейс - OCI (Oracle 8 в доке). Его и рассмотрим. Коннект: $c = oci_connect("scott", "tiger", "orcl") or die("cannot connect"); Вставка записи: $s = oci_parse($c, "insert into phonebook values ('Ushat Pomoev', '765-XX-XX')"); oci_execute($s); Выборка всех записей: $s = oci_parse($c, "select * from phonebook"); oci_execute($s); while(oci_fetch($s)) { print "name: ".oci_result($s, "NAME"). "\tphone: ".oci_result($s, "PHONE")."\n"; } Это конец: oci_free_statement($s); oci_close($c); Описание этих и всех остальных функций есть прямо в стандартном мануале, поэтому оставлю его изучение на совесть читателя (полюбопытствуй заодно и на нашем диске). Вообще, за что я люблю PHP, так это за мануал. Все без исключения библиотеки, стандартные и опциональные, в нем описаны. Поэтому не надо бороздить просторы интернета в поисках нужной информации или примеров. Все это входит в комплект PHP. Работаем с данными: Java В "Жабе" работа с любой базой данных - задача простая. Есть JDBC, а в поставке Oracle к нему имеется драйвер. Код получается таким. Для начала зарегистрируем драйвер: DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); Теперь откроем соединение: Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@", "scott", "tiger"); Для каждого запроса к базе данных нам нужен экземпляр класса Statement. Сделаем insert: Statement istmt = conn.createStatement(); istmt.execute("insert into phonebook values ('Zabeg Debilov', '456-XX-XX')"); istmt.close(); Теперь select: Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select name, phone from phonebook"); |