使用Perl連接Oracle數(shù)據(jù)庫可以使用DBI(DataBase Interface)模塊。以下是一個簡單的示例代碼:
use DBI;
my $database = "dbi:Oracle:host=hostname;sid=sid";
my $username = "username";
my $password = "password";
# 連接數(shù)據(jù)庫
my $dbh = DBI->connect($database, $username, $password) or die $DBI::errstr;
# 執(zhí)行SQL語句
my $sql = "SELECT * FROM table_name";
my $sth = $dbh->prepare($sql);
$sth->execute() or die $DBI::errstr;
# 獲取結(jié)果
while (my @row = $sth->fetchrow_array()) {
print join(", ", @row), "\n";
}
# 斷開數(shù)據(jù)庫連接
$sth->finish();
$dbh->disconnect();
在上面的代碼中,$database
變量是連接Oracle數(shù)據(jù)庫的字符串,其中hostname
是數(shù)據(jù)庫主機名,sid
是數(shù)據(jù)庫實例標識符。$username
和$password
變量是數(shù)據(jù)庫的用戶名和密碼。你需要將這些值替換為實際的數(shù)據(jù)庫連接信息。
使用DBI->connect()
函數(shù)連接數(shù)據(jù)庫,如果連接成功,返回一個數(shù)據(jù)庫句柄$dbh
,否則報錯并終止程序。
接下來,使用$dbh->prepare()
函數(shù)準備要執(zhí)行的SQL語句,然后使用$sth->execute()
函數(shù)執(zhí)行SQL語句。如果執(zhí)行成功,返回一個語句句柄$sth
,否則報錯并終止程序。
使用$sth->fetchrow_array()
函數(shù)獲取查詢結(jié)果的每一行數(shù)據(jù),通過循環(huán)輸出到屏幕上。
最后,使用$sth->finish()
函數(shù)釋放語句句柄,然后使用$dbh->disconnect()
函數(shù)斷開數(shù)據(jù)庫連接。
請注意,為了使用DBI模塊,你需要安裝DBI模塊和適當?shù)臄?shù)據(jù)庫驅(qū)動程序。你可以通過CPAN安裝DBI模塊,例如,運行以下命令:
perl -MCPAN -e 'install DBI'