MSSQLがxp_commandshellを使用する方法と同様の何か? ディレクトリ情報を取得し、ログファイルを解析し、すべてを最初にバッチせずにクエリを実行できれば、はるかに簡単になります。OracleはWindowsのコマンドライン機能を実行できますか?
答えて
はい、可能です。
SQL Developerは、SQL * Plusのほとんどの機能(すべてではありません)を実装しています。
SQL * Plusでは、SQL Developerと同様に、OSコマンドを実行するコマンドはHOSTです。私は、コードエディタで(SQL Developerを)これを入力した場合
は:限界があるだろう、明らかに
Volume in drive C is Windows
Volume Serial Number is A28B-485D
Directory of c:\app
06/19/2017 01:23 PM <DIR> .
06/19/2017 01:23 PM <DIR> ..
11/10/2016 08:48 AM 10,244 .DS_Store
11/10/2016 08:48 AM <DIR> intro
06/19/2017 03:29 PM <DIR> sandbox
1 File(s) 10,244 bytes
4 Dir(s) 876,968,189,952 bytes free
:
host dir c:\app
スクリプト出力ウィンドウに表示される出力はこれです。一部のOSコマンドはSQL Developer内では実行できません。他の場合は、アクセス権をチェックする必要があります。
まさに私が望む/探していたもの。 –
@NoodlesPokerandSportsMedia:それはクライアント –
@a_horse_with_no_nameに**サーバー上で**実行可能ファイルを実行していない**まったく**異なるその後、 'xp_cmdshell'ものです - 私のためのすべてが同じコンピュータ上で実行されますので、私はここに障害者です。クライアントとサーバーが同じネットワーク上にある場合、適切なセットアップとアクセス許可が与えられている限り、「クライアント」OSコマンドはサーバー上のファイルシステムにアクセスできます。さもなければ、私はUTL_FILEが(主に)サーバ上で動作すると信じています - それは 'xp_cmdshell 'に近いものでしょうか? – mathguy
あなたは言った:
を同じチェックでディレクトリがデータ
でDBを更新している必要があります必要なファイルとそのタイムスタンプが含まれている場合、一方で、特定のテーブルの情報が存在するか、正しいかどうかの例では、チェックされるだろう
ファイルを読み書きするだけの場合、UTL_FILEはファイルが存在するかどうかをチェックし、その内容にアクセスできます。外部表では、システム・ファイルにもアクセスできます。これを行うことをお勧めします。また、自動化されたシェルスクリプトが、アクセスする必要のあるデータ(タイムスタンプなど)をある種のファイルに入れていることを確認してください。
あなたのサーバー上で任意のコードを実行する必要がある場合、私がそれを行うことを知っている唯一の方法は、データベースにJavaアプリケーションを使用することです。 Here's the relevant section of the Oracle documentation on doing that。
編集:@Martin Bergerが述べたように、外部DBMS_SCHEDULERジョブを忘れました。ちょっと複雑ですが、ファイルの読み込みよりも複雑な作業をしたい場合は、おそらく最も簡単な解決策です。 Here's a nice example of running 'ls' and getting the output。
HOST
コマンドを使用することは、コマンドシェルを使用できるようになります(大きな程度)。 Windows上で実行されている場合は、cmd.exe
コマンドラインであることに注意してください。 mathguyが示すように、dir C:\app
を使用してディレクトリ一覧を取得できます。
Linux/UNIXで実行されている場合は、ls
コマンドがディレクトリリストを生成するksh/bashなどのフレーバになります。
さらに複雑なコマンドを使用できます。私は、Oracleコマンドでファイルの存在を検出して削除する方法を理解しようとしていて、時間を無駄にしていました。 HOST
コマンドを使用すると簡単です。
HOST IF EXIST thespoolfile.txt (DEL thespoolfile.txt)
は実は、私は、スプールの名前は、パラメータや使用などでファイルを渡すことを好む:
HOST IF EXIST &1 (DEL &1)
SPOOL &1
Oracleはインスタンスの外にジョブを実行するためにOracle Schedulerのエージェントを持っています。任意のノードでスケジューラエージェントを実行できます。スケジューラエージェントは、データベース自体のホストに限定されません。ドキュメント:Using the Oracle Scheduler Agent to Run Remote Jobsを参照してください。 DBMS_SCHEDULER
- 1. 不可能:コマンドラインからロールを実行できますか?
- 2. WindowsのコマンドラインからJavaアプリケーションを実行
- 3. WindowsのコマンドラインからPowerPoint Viewerを実行
- 4. WindowsでEFIシェルコマンドを実行するコマンドライン
- 5. WindowsのコマンドラインでForeachループを実行しますか?
- 6. J2V8は匿名機能を実行できますか?
- 7. Cucumber Js - 機能の実行方法[Windows]
- 8. これはLDAP機能で実行できますか?
- 9. API 23機能はAPI 25で実行できますか?アンドロイドスタジオ
- 10. Matlab - コマンドライン環境での列車機能の実行
- 11. Powershellの特定のコマンド/機能をコマンドラインから実行するには?
- 12. 自己実行機能はDOMで実行可能ですか?
- 13. WindowsコマンドラインでのPythonエンコーディング:Chcp 932が機能しません。
- 14. WindowsのLinuxコマンドライン機能を取得するには?
- 15. Oracle SQL - where句でMAX機能を実現しますか?
- 16. php exec()で外部Windowsソフトウェアのコマンドラインを実行するには?
- 17. firestoreをクラウド機能でローカルに実行できますか?
- 18. jarをコマンドラインから実行できますが、シェルスクリプトでは実行できません - なぜですか?
- 19. コマンドラインから特定のXcuitestを実行できますか?
- 20. Windowsでコマンドラインを使用してUnitTest ++を実行するには
- 21. コマンドラインからJDBC oracle java programmを実行する
- 22. Windows 8はWindows Phoneで実行できますか?
- 23. コマンドラインでWindowsバッチファイルからリモートサーバーのPHPスクリプトを実行
- 24. コマンドラインから.NETアセンブリからコードを実行できますか?
- 25. コマンドラインからGii機能を使用することはできますか?
- 26. コマンドラインから.exeを正常に実行できますが、タスクスケジューラからは実行できません。
- 27. Windowsでプログラムを実行する機能C++
- 28. 私はコマンドラインからweb.pyを実行できません
- 29. LINQPad - コマンドラインからlinqpadスクリプトを実行できますか?
- 30. コマンドラインからSmalltalkスクリプトを実行できますか?
あなたがxp_cmdshellを使用して*に対して、そこに*非常に*厳しい警告*を知っていますか - は
を使用し、データベースのホスト上のスクリプトまたは実行可能ファイルを実行するには?実際には、実行するためにはかなりのセキュリティ機能を無効にする必要がありますか?あなたは間違いなくSQL Serverでそれを必要としません - ジョブを実行する場合は、SQL Serverエージェントを使用してください。 Oracleにはこれが必要ではありません。 –
SQL Serverのディレクトリの分析、解析、および実行にはSSISがあります。 xp_cmdshellではありません。独自のスクリプトを作成する場合は、 –
@PanagiotisKanavosというエージェントを使用してください.SMSを意味します。 –