簡體   English   中英

如何使用Perl腳本連接到sqlplus

[英]how to connect to sqlplus using perl script

在Unix中,我們用於連接到sqlplus的正常過程如下

sqlplus ${user}/${password}@${server} my_file.sql >> $Logfile 2>&1

我將上述命令中的所有信息附加到日志文件$Logfile

現在在perl中,我知道如何連接到sqlplus並執行一個sql腳本,我使用了類似的方法

system("sqlplus -L ${user}/${password}@${server} my_file.sql")

但是使用system我們不能將信息發送到日志文件,它只會給出返回狀態,我想像在unix中那樣跟蹤已執行命令的信息。有沒有辦法做到這一點。 請幫忙謝謝

使用DBIDBD::Oracle訪問數據庫要好得多,而不是花錢運行交互式工具SQL * Plus

但是,如果您堅持要創建一個單獨的過程來操作數據庫,那么傳遞給system的相同命令將獲得相同的結果。

我假設您確實要在其中@符號? 像這樣

system("sqlplus -L ${user}/${password}\@${server} my_file.sql >> $Logfile 2>&1")

或者您可以使用反引號:

open my ($log_fh), '>', $Logfile;

print $log_fh `sqlplus -L ${user}/${password}\@${server} my_file.sql`;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM