0

plsql スクリプトを使用して、サーバーのデスクトップのフル パスを取得しようとしています。サーバー自体でスクリプトを実行します。

plsql 内にそれを取得するメソッドがないようです。どのコンピューター/サーバー上でも、スクリプトの出力をデスクトップにスプールする必要があります。そのため、ユーザー名とデスクトップ パスは他のマシンでは異なる場合があります。

編集:現在試行中: dbms_system.get_env('userprofile', デスクトップ);

デスクトップのパスを取得できますが、現在のユーザーのものではありません。私が得るのは C:\Documents and Settings\Default User\Desktop です

また試してみました: SQL> host echo %username%

管理者

最終的に必要なパスは C:\Documents and Settings\Administrator\Desktop ですが、ユーザー名をハードコードすることはできません...

4

1 に答える 1

1

通常、サーバーはクライアントのデスクトップ/ファイルシステムに直接書き込むことはできません。クライアントソフトウェアはサーバーからのデータストリームを要求し、クライアントはそれを画面やファイルに書き込むことができます....

クライアント ソフトウェアが連携していない場合は、結果をユーザーにメールで送信することを検討します。

[SYS_CONTEXT と USERENV を使用してクライアントの OS_USER と IP を取得できますが、それはおそらく役に立たず、アプリ サーバー経由で取得した場合は間違いなく役に立ちません。]

于 2011-06-24T05:40:35.353 に答える