Class com.ibm.etools.xmltosql.XMLToSQL

java.lang.Object
        com.ibm.etools.xmltosql.XMLToSQL

パブリック・クラス XMLToSQL はオブジェクトを拡張します。

XMLToSQL は、XML 文書を使用したデータベース・テーブル内の行の挿入、更新、または削除に使用されます。 XML 構造からテーブル構造への間のマッピングは、単純なマッピング規則のセットに基づいています。 下記の XML フラグメントはマッピング規則を説明しています。

   <rootElement>
     <EMPLOYEE>
       <FIRSTNAME>CHRISTINE</FIRSTNAME>
       <LASTNAME>HAAS</LASTNAME>
     </EMPLOYEE>
     <EMPLOYEE>
       <FIRSTNAME>MICHAEL</FIRSTNAME>
       <LASTNAME>THOMPSON</LASTNAME>
     </EMPLOYEE> 
     ...
   </rootElement>

有効な XML 文書を作成する良い方法とは、最初に SQLToXML ライブラリーを 使用して 1 つを生成し、それからそれを変更して更新用の新規の値を提供します。 ユーザーは、 XMLToSQL ライブラリーを使用してコードを書く前に、「XML to SQL」ウィザードを 使用して XML 文書の妥当性を単体テストすることもできます。

表 1. コンストラクター索引
コンストラクター 記述
XMLToSQL(SQLProperties) これはコンストラクターのみです。
表 2. メソッド索引
メソッド 記述
void addToKeyColumns(String) UPDATE または DELETE の where 文節の作成に使用するキー列名のリストに追加する。
void addToUpdateColumns(String) 更新された、または挿入された列名のリストに追加する。
void execute(Document, Boolean) DOM 文書からのテーブルを更新する。
void execute(InputStream) XML 入力ストリームからのテーブルを更新する。
void execute(InputStream, Boolean) XML 入力ストリームからのテーブルを更新する。
void execute(String) XML ファイルからのテーブルを更新する。
void execute(String, Boolean) XML ファイルからのテーブルを更新する。
void finalize() これが内部で作成されたものである場合はこの接続をクローズする。
Vector getFailedStatements() 実行時に失敗している SQL ステートメントのコレクションを戻す。
String getTableName(InputStream) 更新されるデータベース・テーブル名を戻す。
String getTableName(String) 更新されるデータベース・テーブル名を戻す。
void setConnection(Connection) テーブルを更新するために使用する JDBC 接続を提供する。
void setTrace(Boolean) トレース・フラグをセットする。
void setTrace(Boolean, PrintWriter) トレース・フラグをセットする。
Boolean updateMultipleRows(String, Vector) いずれかの execute() メソッドがかってコールされた場合、複数行が更新されていたか判別する。

コンストラクター

XMLToSQL
パブリック XMLToSQL(SQLProperties sqlProperties)

これはコンストラクターのみです。 データベース・テーブルの更新に必要な何らかの情報は、SQLProperties を経由して提供されます。

メソッド

addToKeyColumns
public void addToKeyColumns(String columnName) throws Exception

UPDATE または DELETE の where 文節の作成に使用されるキー列名のリストに追加します。 テーブルに基本キーがある場合、これらの基本キー列が代わりに使用されます。 テーブルに基本キー列が何も定義されていない場合、このメソッドは役に立ちます。しかし、この場合は複数の行が意図的でなく更新されることができるので注意が必要です。 ある列が、キー列で同時に更新列になることはできません。 このメソッドは INSERT には何の影響もありません。

addToUpdateColumns
public void addToUpdateColumns(String columnName) throws Exception

更新された、または挿入された列名のリストに追加します。このメソッド をいずれかの execute() メソッドの前に呼び出したことがない場合、いずれかのキー列を除くすべての列は、 UPDATE または INSERT の XMLToSQL によってリストに追加されます。 ある列が、キー列で同時に更新列になることはできません。 このメソッドは DELETE には何の影響もありません。

execute
public void execute(Document doc,
                    Boolean continueOnSQLError)
           throws SQLException, ClassNotFoundException, IOException,
                  SAXException, ParserConfigurationException

DOM 文書からのテーブルを更新します。 continueOnSQLError のブール値によっては別のトランザクション・モードが適用されます。 これが の場合は、エラーが発生しても残りの行の更新は継続されます。 この場合、 どちらの行が失敗したかを見るには、getFailedStatements() を呼び出す必要があります。 もし、continueOnSQLError が の場合、エラーが発生したときは処理されたすべての行についてロールバックされます。

execute
public void execute(InputStream inputStream)
           throws SQLException, ClassNotFoundException, IOException,
                  SAXException, ParserConfigurationException

XML 入力ストリームからのテーブルを更新する。 行を更新中にエラーが発生した場合、それまで処理されたすべての行がロールバックされます。

execute
public void execute(InputStream inputStream)
                    Boolean continueOnSQLError)
           throws SQLException, ClassNotFoundException, IOException,
                  SAXException, ParserConfigurationException

XML 入力ストリームからのテーブルを更新する。 continueOnSQLError のブール値によっては別のトランザクション・モードが適用されます。 これが の場合は、エラーが発生しても残りの行の更新は継続されます。 この場合、 どちらの行が失敗したかを見るには、getFailedStatements() を呼び出す必要があります。 もし、continueOnSQLError が の場合、エラーが発生したときは処理されたすべての行についてロールバックされます。

execute
public void execute(String filename)
           throws SQLException, FileNotFoundException,
                  ClassNotFoundException, IOException, SAXException,
                  ParserConfigurationException

XML ファイルからのテーブルを更新する。 行を更新中にエラーが発生した場合、それまで処理されたすべての行がロールバックされます。

execute
public void execute(String filename,
                    Boolean continueOnSQLError)
           throws SQLException, FileNotFoundException,
                  ClassNotFoundException, IOException, SAXException,
                  ParserConfigurationException

XML ファイルからのテーブルを更新する。 continueOnSQLError のブール値によっては別のトランザクション・モードが適用されます。 これが の場合は、エラーが発生しても残りの行の更新は継続されます。 この場合、 どちらの行が失敗したかを見るには、getFailedStatements() を呼び出す必要があります。 もし、continueOnSQLError が の場合、エラーが発生したときは処理されたすべての行についてロールバックされます。

ファイナライズする
public void finalize()

これが内部で作成されたものである場合はこの接続をクローズする。 接続が外部から提供されていた場合 (setConnection() を使用して)、何も実行されません。 XMLToSQL がゴミ収集されたときには、このメソッドは JVM によって呼び出されます。

getFailedStatements
public Vector getFailedStatements()

実行時に失敗している SQL ステートメントのコレクションを戻す。 このメソッドは continueOnError フラグが の時にのみ意味があります。

getTableName
public String getTableName(InputStream inputStream)
             throws IOException, SAXException,
                    ParserConfigurationException

更新されるデータベース・テーブル名を戻します。 このメソッドは、SQL ステートメントを実行する前に XML 入力ストリームからのテーブル名を判別するために提供されています。 これは何らかのユーザー・インターフェース・コンポーネントの便宜のために提供されています。

getTableName
public String getTableName(String filename)
             throws IOException, SAXException,
                    ParserConfigurationException

更新されるデータベース・テーブル名を戻す。 このメソッドは、SQL ステートメントを実行する前に XML 入力ストリームからのテーブル名を判別するために提供されています。 これは何らかのユーザー・インターフェース・コンポーネントの便宜のために提供されています。

setConnection
public void setConnection(Connection jdbcConnection)

テーブルを更新するために使用する JDBC 接続を提供します。 アプリケーション・プログラムが、接続プールのような自身の接続管理メカニズムを使用したい場合には、このメソッドが役に立ちます。 このメソッドを、いずれかの execute() メソッドの前に呼び出したことがない場合、XMLToSQL は SQLProperties からの値を使用して自身の接続を作成します。

setTrace
public void setTrace(Boolean flag)

トレース・フラグをセットする。 フラグが の場合、実行中の SQL ステートメントは、コンソールに印刷出力されます。 デフォルトでトレースはオフにされます。

setTrace
public void setTrace(Boolean flag,
                     PrintWriter writer)

トレース・フラグをセットする。 フラグが の場合、実行中の SQL ステートメントは、書き込みプログラムに印刷出力されます。 デフォルトでトレースは にセットされます。

updateMultipleRows
public Boolean updateMultipleRows(String uri,
                                  Vector keys) throws Exception

いずれかの execute() メソッドがかってコールされたことがある場合、複数行が更新 / 削除されていたか判別します。 基本キーを持たないテーブルに対して操作が行われる場合、 UPDATE/DELETE モードで複数の行が変更される可能性があります。 単一行がその対応するソース XML エレメントから影響を受ける可能性がある場合、このメソッドは「偽」を戻します。それ以外の場合は「真」を戻します。

関連タスク
ウィザードを使用して SQL から XML を生成する
XMLToSQL クラスを使用してテーブルを更新する
関連資料
クラス com.ibm.etools.xmltosql.SQLProperties
クラス com.ibm.etools.sqltoxml.SQLToXML
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved. (C) Copyright IBM Japan 2005