{"id":223,"date":"2012-01-17T09:59:55","date_gmt":"2012-01-17T08:59:55","guid":{"rendered":"http:\/\/jal-bs.de\/blog\/?p=223"},"modified":"2012-01-17T10:00:12","modified_gmt":"2012-01-17T09:00:12","slug":"oracle-und-perl-mit-dem-datenbank-interface-dbi","status":"publish","type":"post","link":"https:\/\/jal-bs.de\/blog\/?p=223","title":{"rendered":"Oracle und Perl mit dem Datenbank Interface (DBI)"},"content":{"rendered":"<p>Ein kleines Beispiel, wie mit Perl und dem Datenbank Interface (DBI) sehr einfach auf Oracle zu gegriffen werden kann.<\/p>\n<h6># perl<br \/>\nuse strict;<br \/>\nuse DBI;<br \/>\nmy $dbh = DBI-&gt;connect( &#8218;dbi:Oracle:ORA11G&#8216;,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8218;test&#8216;,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8218;test123&#8216;,<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 { RaiseError =&gt; 1, AutoCommit =&gt; 0 }<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ) || die &#8222;Database connection not made: $DBI::errstr&#8220;;<\/h6>\n<h6>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n# doing in DB<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/h6>\n<h6>my $sql = qq{ ALTER SESSION set NLS_DATE_FORMAT = &#8218;DD.MM.YYYY HH24:MI:SS&#8216; };\u00a0\u00a0\u00a0 # session date format<br \/>\nmy $sth = $dbh-&gt;prepare($sql);<br \/>\n$sth-&gt;execute();<br \/>\n$sth-&gt;finish();\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # cursor schliesen<\/h6>\n<h6>my $sql = qq{ select user, sysdate from dual };\u00a0\u00a0\u00a0 # SELECT<br \/>\nmy $sth = $dbh-&gt;prepare($sql);<br \/>\n$sth-&gt;execute();<\/h6>\n<h6>my($user,$sysdate);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # Deklaration<br \/>\n$sth-&gt;bind_columns(undef, \\$user, \\$sysdate);<\/h6>\n<h6>print &#8222;Ergebnis von SQL: $sql\\n\\n&#8220;;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # Daten holen<br \/>\nwhile( $sth-&gt;fetch() ) {<br \/>\n\u00a0\u00a0\u00a0 print &#8222;Username: $user Datum: $sysdate\\n&#8220;;<br \/>\n}<br \/>\n$sth-&gt;finish();\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # cursor schliesen<\/h6>\n<h6>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n# ENDE<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/h6>\n<h6>$dbh-&gt;disconnect;<\/h6>\n<p><strong>Output:<\/strong><br \/>\nErgebnis von SQL:\u00a0 select user, sysdate from dual<br \/>\nUsername: TEST Datum: 16.01.2012 22:44:35<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein kleines Beispiel, wie mit Perl und dem Datenbank Interface (DBI) sehr einfach auf Oracle zu gegriffen werden kann. # perl use strict; use DBI; my $dbh = DBI-&gt;connect( &#8218;dbi:Oracle:ORA11G&#8216;, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8218;test&#8216;, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8218;test123&#8216;, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 { RaiseError =&gt; 1, AutoCommit &hellip; <a href=\"https:\/\/jal-bs.de\/blog\/?p=223\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/223"}],"collection":[{"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223"}],"version-history":[{"count":11,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions\/234"}],"wp:attachment":[{"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jal-bs.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}