2.4. AdminShell
2.4.1. AdminShell 機能 リンクのコピーリンクがクリップボードにコピーされました!
- 管理
- AdminShell を使用すると、さまざまな管理タスクを実行するために JBoss Data Virtualization インスタンスに接続できます。
- データアクセス
- AdminShell を使用すると、仮想データベース (VDB) に接続し、SQL コマンドを実行して VDB データを問い合わせ、結果を参照できます。
- 移行
- AdminShell を使用すると、VDB および関連するコンポーネントをある開発環境から別の開発環境に移行するスクリプトを開発できます (移行スクリプトは、本番稼働デプロイメントで実行する前にテストおよび自動化できます)。
- テスト版
- 組み込みの JUnit テストフレームワークを使用すると、ユーザーはシステムの状態とデータの整合性を確認する回帰テストを作成できます。作成されたテストは、システム機能をアトミックに検証します。QA 担当者が手動で検証する必要はありません。
2.4.2. AdminShell スクリプト リンクのコピーリンクがクリップボードにコピーされました!
- すべてのコマンドと関数では大文字と小文字を区別します。
- Groovy コマンドは、セミコロンで終了する必要はありません。これはオプションです。
- 関数は入力としてゼロ個以上のパラメーターをとります。
- 関数パラメーターはかっこ内で提供されます。
- 文字列パラメーターは、一重引用符または二重引用符内に提供する必要があります。
connectAsAdmin("localhost", "9999", "user", "password", "conn1")
connectAsAdmin("localhost", "9999", "user", "password", "conn1")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 他の Java クラスおよびメソッドは、必要なライブラリーがすでにクラスパスで指定されている限り、スクリプト内からアクセスしたり、呼び出したりできます (
lib
ディレクトリーに追加された JAR ファイルは自動的にクラスパスに含まれます)。import my.package.*; myObject = new MyClass(); myObject.doSomething();
import my.package.*; myObject = new MyClass(); myObject.doSomething();
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
disconnect()
コマンドを入力して、AdminShell を終了する前に JBoss Data Virtualization から切断する必要があります。
参照
- Groovy スクリプトの詳細については、http://groovy.codehaus.org/ を参照してください。
- Groovy スクリプトと SQL の詳細については、http://groovy.codehaus.org/Database+features を参照してください。
- Groovy スクリプトを使用したテストの詳細については、http://groovy.codehaus.org/Unit+Testing と http://junit.org/ を参照してください。
2.4.3. AdminShell ヘルプ リンクのコピーリンクがクリップボードにコピーされました!
adminHelp()
メソッドを使用してリストできます (カスタム AdminShell メソッドのみが表示されることに注意)。
adminHelp()
adminHelp()
adminHelp("METHOD")
を使用します。
sqlHelp()
メソッドを使用します。
sqlHelp()
sqlHelp()
sqlHelp("METHOD")
を使用します。
2.4.4. AdminShell 基本コマンド リンクのコピーリンクがクリップボードにコピーされました!
コマンド | 説明 |
---|---|
adminHelp(); |
利用可能なすべてのカスタム AdminShell メソッドを表示します。
|
adminHelp("METHOD"); |
提供された AdminShell メソッドの定義および入力パラメーターを表示します。
|
sqlHelp(); |
利用可能なすべてのカスタム SQL AdminShell メソッドを表示します。
|
sqlHelp("METHOD"); |
提供された SQL AdminShell メソッドの定義および入力パラメーターを表示します。
|
println "STRING"; |
値をコンソールに出力します。
|
sql = connect(); | connection.properties ファイルで指定されたデフォルトの接続を使用して、拡張された Groovy SQL 接続を取得します。
|
sql.execute("SQL"); |
SQL コマンドを実行します。
|
connectAsAdmin(); | connection.properties ファイルで指定されたデフォルトの接続を使用して管理ユーザーで接続詞ます。このコマンドは VDB 名を必要としません。これは管理接続であり JDBC 接続ではないため、この接続を使用して SQL コマンドを発行できません。SSL が使用される場合は、接続 URL とクライアント SSL 設定を必要に応じて調整する必要があります (通常は、2 方向 SSL の場合のみ)。
|
println getConnectionName(); |
アクティブな接続の名前を返します。
|
useConnection("cNAME"); |
該当する接続を使用します。
|
disconnect(); |
アクティブな接続を切断します。
|
disconnectAll(); |
すべての接続 (アクティブな接続および中断された接続) を切断します。
|
2.4.5. 非インタラクティブ AdminShell でのスクリプトの実行 リンクのコピーリンクがクリップボードにコピーされました!
手順2.3 非インタラクティブ AdminShell でのスクリプトの実行
コマンドラインターミナルを開く
スクリプトを実行する
/adminshell.sh load [-Dparam=value] PATH/FILENAME
コマンドを実行します。
注記
-D
を使用して渡すオプションプロパティーには、System.getProperty()
を使用してスクリプトファイル内からアクセスできます。
value = System.getProperty("param")
value = System.getProperty("param")
重要
2.4.6. インタラクティブ AdminShell の起動 リンクのコピーリンクがクリップボードにコピーされました!
手順2.4 インタラクティブ AdminShell の起動
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
- AdminShell ディレクトリーへ移動します:
/EAP_HOME/dataVirtualization/teiid-adminshell/
.
- AdminShell を展開します:
unzip teiid-VERSION-adminshell-dist.zip
adminshell
スクリプトを起動する./adminshell.sh
コマンドを実行します。ログの出力は以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インタラクティブ AdminShell が実行されています。この時点で、個々のコマンドを行ごとに実行できます。
注記
exit
コマンドを入力することにより、いつでもインタラクティブ AdminShell を終了できます。
2.4.7. インタラクティブ AdminShell に役に立つヒント リンクのコピーリンクがクリップボードにコピーされました!
コマンド | 説明 |
---|---|
↑ ('up arrow') |
実行した過去のコマンドを最新のものから表示します。
|
help |
インタラクティブシェア内で使用するために特別に提供された追加コマンドを表示します。
|
インタラクティブシェルは特別なインタープリターを使用し、Groovy スクリプトを実行して期待される動作とは異なる動作を表示します。
- def ステートメントは、シェルのコンテキストで変数を定義しません。たとえば、
def x = 1
, usex = 1
は使用しないでください。 - シェルは、アノテーションを使用する Groovy クラスを解析できません。
2.4.8. インタラクティブ AdminShell でのスクリプトの保存 リンクのコピーリンクがクリップボードにコピーされました!
手順2.5 インタラクティブ AdminShell でのスクリプトの保存
インタラクティブ AdminShell を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell.sh
コマンドを実行します。
ファイルへの記録を開始する
record start PATH/FILENAME
コマンドを入力します。記録する必要なコマンドを入力する
入力/出力を記録する一連のコマンドを入力します。ファイルへの記録を停止する
record stop
コマンドを入力します。
record start
コマンドを発行し、record stop
コマンドを発行するまでのすべての入力と出力が PATH/FILENAME にキャプチャされます。
注記
2.4.9. インタラクティブ AdminShell でのスクリプトの実行 リンクのコピーリンクがクリップボードにコピーされました!
手順2.6 インタラクティブ AdminShell でのスクリプトの実行
インタラクティブ AdminShell を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell.sh
コマンドを実行します。
スクリプトを実行する
インタラクティブシェル
load
コマンドを使用してスクリプトを実行するload PATH/FILENAME
コマンドを実行します。Groovy
evaluate
コマンドを使用してスクリプトを実行するevaluate("PATH/FILENAME" as File)
コマンドを実行します。
注記
2.4.10. AdminShell GUI の起動 リンクのコピーリンクがクリップボードにコピーされました!
手順2.7 AdminShell GUI の起動
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。
adminshell-console
スクリプトを起動する./adminshell-console.sh
コマンドを実行します。
AdminShell GUI が表示されます。
注記
2.4.11. AdminShell GUI でのスクリプトの保存 リンクのコピーリンクがクリップボードにコピーされました!
手順2.8 AdminShell GUI でのスクリプトの保存
adminshell
ディレクトリーに移動する- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。
スクリプトを入力する
AdminShell GUI の上部のスクリプトウィンドウにスクリプトを入力します。スクリプトは、作業中にで実行してテストできます。 スクリプトを保存する
を選択します。 - スクリプトの場所とファイル名を選択し、をクリックします。
2.4.12. AdminShell GUI でのスクリプトの実行 リンクのコピーリンクがクリップボードにコピーされました!
手順2.9 AdminShell GUI でのスクリプトの実行
AdminShell GUI を開く
- コマンドラインターミナルを開きます。
/EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/
に移動します。./adminshell-console.sh
コマンドを実行します。
スクリプトを準備する
新しいスクリプトを入力する
AdminShell GUI の上部のスクリプトウィンドウにスクリプトを入力します。保存されたスクリプトをロードする
を選択します。 - 必要なスクリプトファイルを見つけ、をクリックします。スクリプトが、AdminShell GUI の上部のスクリプトウィンドウに表示されます。
スクリプトを実行する
を選択します。
2.4.13. AdminShell 接続プロパティー リンクのコピーリンクがクリップボードにコピーされました!
EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/connection.properties
ファイルは、Boss Data Virtualization インスタンスに接続するために AdminShell が使用するデフォルトの接続プロパティーを提供します。
connect()
または connectionAsAdmin()
を呼び出すと、このプロパティーファイルで定義された設定を使用して JBoss Data Virtualization に接続します。connect()
は、jdbc
の接頭辞を持つプロパティーを使用し、connectAsAdmin()
は admin
の接頭辞を持つプロパティーを使用します。また、好きなプロパティーを使用して接続するために connect()
メソッドまたは connectAsAdmin()
メソッドにパラメーターを含めることもできます。
connect("URL", "USER", "PASSWORD")
connect("URL", "USER", "PASSWORD")
警告
2.4.14. AdminShell での複数の接続 リンクのコピーリンクがクリップボードにコピーされました!
getConnectionName()
メソッドは、アクティブな接続の名前を返します。この接続名は、次のコマンドを使用して変数 cName に割り当てることができます。
cName = getConnectionName();
cName = getConnectionName();
useConnection()
コマンドを使用します。
useConnection(cName);
useConnection(cName);
以下の例は、2 つの接続を使用して切り替える方法を示しています。
2.4.15. サンプルスクリプト リンクのコピーリンクがクリップボードにコピーされました!
例2.1 VDB のデプロイ
例2.2 データソースの作成 (Oracle)
例2.3 Teiid に対する SQL クエリの実行
2.4.16. AdminShell FAQ リンクのコピーリンクがクリップボードにコピーされました!
- 問: なぜ adminhelp コマンドは GUI ツールで動作しないのですか?
- 問: 事前に作成されたスクリプトを利用できますか?
- 問: connectAsAdmin() と connect() の違いは何ですか?
- 問: getAdmin() は何を行うのですか? なぜこれが必要なのですか?
- 問: スクリプトを記述するために IDE サポートを利用できますか?
- 問: 他の環境で AdminShell メソッドを使用できますか?
- 問: デバッグサポートは利用できますか?
adminhelp
コマンドは GUI ツールで動作しないのですか?
load
、help
、adminhelp
などのシェルコマンドが認識されません。GUI では、同等の機能形式を使用する必要があります (たとえば、adminhelp
の代わりに adminHelp()
を使用します)。
connectAsAdmin()
と connect()
の違いは何ですか?
connectAsAdmin()
メソッドは、JBoss Data Virtualization の AdminAPI に対するコンテキスト接続を作成します。connect()
メソッドは、JBoss Data Virtualization に対する SQL 呼び出しに使用する Groovy SQL オブジェクトの拡張を返します。
getAdmin()
は何を行うのですか? なぜこれが必要なのですか?
getAdmin()
メソッドは、connectAsAdmin()
で接続したときに作成された現在のコンテキスト接続オブジェクトを返します。こおオブジェクトは、インターフェース org.teiid.adminapi.Admin を実装します。提供された AdminShell コマンドは、この API のラッパーです。上級ユーザーは、提供されたラッパーコマンドがニーズを満たさない場合にこの API を直接使用できます。
EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/teiid-VERSION.jar
と EAP_HOME/dataVirtualization/teiid-adminshell-VERSION/lib/teiid-adminshell-VERSION.jar
がクラスパスで指定されていることを確認する必要があります。
import static org.teiid.adminshell.AdminShell.*; import org.teiid.adminapi.*;
import static org.teiid.adminshell.AdminShell.*;
import org.teiid.adminapi.*;