2

いくつかのシェルスクリプトをperlに変換しています。すべてのデータベースアクセスはsqlplusを使用して行われます。perlを使用すると、Oracleデータベースにアクセスするためのより良い方法が得られます。または、sqlplusに固執する必要があります。

4

2 に答える 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 に答える