PL/SQL パッケージ OS_COMMAND (それ自体は Java を使用) を使用してシェル コマンドを実行しています。彼らの戻りコードを観察できます。
Windows で操作しているか、他のオペレーティング システムで操作しているかを確認したいと考えています。
私はさまざまなアプローチを思いつきました:
- 私の最初のアイデア: 特定の Windows コマンドを実行し (常に成功するはずです)、リターン コードを確認します。0 は Windows を意味し、それ以外は他の OS を意味します。
- Java ストアド プロシージャの使用
- たとえば、データベース情報の使用
SELECT platform_id, platform_name FROM v$database
SELECT dbms_utility.port_string FROM DUAL
SELECT NAME FROM v$dbfile
フォーマットを確認してください
どれが「最も安全」だと思いますか? 他のアプローチを使用していますか?メリット/デメリットは?
Java ストアド プロシージャを避けたいのですが、データベース情報を解釈する方法が正確にはわかりません (Windows を体系的にチェックする方法: 'WIN' または 'Windows' を含む結果、または ...?)。特定の Windows コマンドで確認する場合、どのコマンドを使用すればよいですか?
どんな方向でもアドバイスをいただければ幸いです。