■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
SI Object Browser での自動実行について 2018/08/20 19:13 OB 6
SI Object Browser for Oracleを使用していますが
SQL cmdコマンドを使用してBAT等に記載しタスク登録のうえ
自動でselect文を実行させたいのですがうまくいきません。

どのような構文をBAT(もしくはPowersellの.ps1)入力すれば自動でselect文が実行されるでしょうか?
(結果をcsvかtxtに吐き出したいです。)

1回の実行例)タスク登録したtest.batが実行され
       bat内のtest.sqlが自動で実行。(中身は簡単なselect文です)
       実行結果がtest.csv(もしくは.txt)に記載
 
以上となります。
こんにちは。
OBサポートです。

お問い合わせいただいた件につきましてですが、あいにくSQLの自動実行、および結果を
自動的にファイル出力するような機能は搭載されておりません。
※起動時に自動ログインする機能として、/Uオプションはご利用いただけます。
 %インストールフォルダ%\ob〇〇.exe /U=User/Password@ServerName:Port/ServiceName

本件につきましては、ご要望として承り開発側に伝えさせていただきます。

ご希望に添えず誠に申し訳ございませんが、何卒よろしくお願い申し上げます。

ご回答頂きありがとうございます。

コマンドプロンプト上にて
sqlplus ユーザー名/パスワード@接続文字列

を入力後にselect文を実行させることもできないのでしょうか?
(できるのであれば応用させたいです)

以上、宜しくお願い致します。
こんにちは。
OBサポートです。

先ほどの投稿で記載しました通り、SELECT文を自動実行するような仕組みは
あいにく搭載されておりませんが、PowerShell等の外部スクリプトと
SI Object Browserの「ユーザー定義コマンド」機能を組み合わせることで
実現できる可能性はございます。

SI Object Browserの「ユーザー定義コマンド」機能では、任意のSQLを登録し
任意のショートカットキーで実行するよう設定することが可能です。

未検証の内容ではございますが、以下のような外部スクリプトを作成することにより
SELECT文の自動実行を実現できるかと存じますので、ご参考いただけましたら幸いです。

1. 自動ログイン
 %インストールフォルダ%\ob〇〇.exe /U=User/Password@ServerName:Port/ServiceName
2. SI Object Browserの起動(DB接続)を待機
3. ユーザー定義コマンドで設定したショートカットキーを送信

■SI Object Browser オンラインマニュアル - ユーザー定義コマンド
 https://www.sint.co.jp/products/siob/online14/ob14vol3.html#om11

■MSDN - SendKeys メソッド(外部サイト)
 https://msdn.microsoft.com/ja-jp/library/cc364423.aspx

何卒、よろしくお願い申し上げます。
お世話になっております。

再度の確認で申し訳ないのですが私の理解があっているのか確認させてください。

sqlcmdやsplplusコマンドはたとえ手動でCMDを起動させ手動でコマンドを
実行したとしても起動(使用できない)という認識で合っていますでしょうか?

また、上記にてご提案頂いた内容の質問なのですが

>2. SI Object Browserの起動(DB接続)を待機
→こちらについては1.にて実施した後に自動でSI Object BrowserのGUI画面が
 起動してくるという認識で合っていますでしょうか?
 (正確には1.にて実施しあコマンドでGUI画面が起動する)

以上、宜しくお願い致します。
こんにちは。
OBサポートです。

> sqlcmdやsplplusコマンドはたとえ手動でCMDを起動させ手動でコマンドを
> 実行したとしても起動(使用できない)という認識で合っていますでしょうか?
 バッチファイルからでもコマンドプロンプトにおける手動実行でも外部ファイルを
 読み込み、SQL実行を行わせるといった操作は可能かと存じます。
 ※SI Object BrowserのSQL実行画面におきましては両コマンドとも実行することはできません。
 
 恐れ入りますが、sqlcmdおよびSQL*Plusにつきましては弊社製品ではございませんので
 詳細回答はいたしかねます。Microsoft社、Oracle社のドキュメントやマニュアルをご確認ください。 
 
> こちらについては1.にて実施した後に自動でSI Object BrowserのGUI画面が
> 起動してくるという認識で合っていますでしょうか?
> (正確には1.にて実施しあコマンドでGUI画面が起動する)
 ご認識の通りです。

何卒、よろしくお願い申し上げます。
この掲示板上で書く内容ではないかもですが、こんな感じでできるのでは?

・sqlcmd -U "ユーザー名" -P "パスワード" -d "データベース名" -i "ファイルパス"
・sqlplus {接続文字列} @ファイルパス

https://docs.microsoft.com/ja-jp/sql/tools/sqlcmd-utility?view=sql-server-2017
https://docs.oracle.com/cd/E16338_01/server.112/b56314/ch_five.htm#i1210918