perl では、すべての my ローカル変数宣言を省略して、このようなことを行うことができます。また、簡潔にするために「failmessage」エラー処理を終了することもできます。
use DBI;
use DBD::Oracle;
$dbh = DBI->connect( "dbi:Oracle:host=127.0.0.1;sid=XE", "username", "password" );
# some settings that you usually want for oracle 10
$dbh->{LongReadLen} = 65535;
$dbh->{PrintError} = 0;
$sth = $dbh->prepare("SELECT * FROM PEOPLE");
$sth->execute();
# one example for error handling just to show how it's done in principle
if ( $dbh->err() ) { die $dbh->errstr(); }
# you can also do other types of fetchrow, see perldoc DBI
while ( $arrayref = $sth->fetchrow_arrayref ) {
print join ";", @$arrayref;
print "\n";
}
$dbh->disconnect();
人々がコメントで尋ねたので、2つのメモ:
- sid=XE は Oracle サービス ID で、データベースの名前のようなものです。無料版の oracle をインストールすると、デフォルトで「XE」になりますが、変更できます。
- DBD::Oracle をインストールするには、システムに Oracle クライアント ライブラリが必要です。これをインストールすると、必要なすべての環境変数も設定されます。