いくつかのシェルスクリプトをperlに変換しています。すべてのデータベースアクセスはsqlplusを使用して行われます。perlを使用すると、Oracleデータベースにアクセスするためのより良い方法が得られます。または、sqlplusに固執する必要があります。
12505 次
2 に答える
7
DBIは標準のPerlデータベースインターフェースです(当然のことながら、Oracleドライバーがあります)。DBIx :: Classは、それを素晴らしいORMインターフェースでラップします。
SQL Plusは、Oracleへのコマンドラインインターフェイスのようです。Perlから使用するには、文字列をマッシュアップしてクエリを作成し(SQLインジェクションの問題を引き起こす優れた方法)、コマンドラインクライアントにシェルアウトしてから、テキスト出力を解析する必要があります。それは狂気です。使用するPerlデータ構造を提供するインターフェースを使用してください。
于 2012-07-17T15:25:36.567 に答える
3
DBIの使用法の簡単な例を次に示します。
use DBI;
$user = 'donny';
$password = 'ppp';
$dbconnectstring = 'basetest';
$dbh = DBI->connect('dbi:Oracle:',$user.'@'.$password,$dbconnectstring);
また、perlスクリプト内でsqlplus(または任意のコマンドライン)にアクセスできることに注意してください。バックティックを使用するだけです。
`cd dasd`
例えば。これを実行するかどうかはわかりませんが、シェルをperlに変換すると言ったので、単なるアイデアです。
于 2012-07-17T15:57:51.760 に答える