次の方法で共有


SQLXML インターフェイス

Microsoft SQL Server JDBC Driver Version 2.0 以降では、SQLXML インターフェイスを導入した JDBC 4.0 API がサポートされます。SQLXML インターフェイスには、XML データを操作するための各種のメソッドが定義されています。SQLXML データ型は、SQL Server の xml データ型にマップされます。

SQLXML インターフェイスには、XML 値に StringReader/Writer、または Stream としてアクセスするためのメソッドが用意されています。XML 値は Source を介してアクセスしたり、Result として設定したりすることもでき、これらを XSLT 変換や XPath のほか、Document Object Model (DOM)、Simple API for XML (SAX)、Streaming API for XML (StAX) などの XML パーサー API と組み合わせて利用することが可能です。

次の表で、SQLXML インターフェイスに定義されている各メソッドについて説明します。

メソッドの構文 メソッドの説明

void free()

このメソッドは、SQLXML オブジェクトと、それが占有していたリソースを解放します。

InputStream getBinaryStream()

SQLXML からデータを読み取る入力ストリームを返します。

Reader getCharacterStream()

XML データを java.io.Reader オブジェクトまたは文字のストリームとして返します。

T extends Source T getSource(Class<T> sourceClass)

この SQLXML オブジェクトによって指定された XML 値を読み取るための Source を返します。

注メモ :
getSource メソッドは、javax.xml.transform.dom.DOMSource、javax.xml.transform.sax.SAXSource、javax.xml.transform.stax.StAXSource、java.io.InputStream の各ソースをサポートします。

String getString()

この SQLXML オブジェクトによって指定された XML 値の文字列表現を返します。

OutputStream setBinaryStream()

この SQLXML オブジェクトが表す XML 値の書き込みに使用できるストリームを取得します。

Writer setCharacterStream()

この SQLXML オブジェクトが表す XML 値の書き込みに使用されるストリームを返します。

T extends Result T setResult(Class<T> resultClass)

この SQLXML オブジェクトによって指定された XML 値を設定するための Result を返します。

注メモ :
setResult メソッドは、javax.xml.transform.dom.DOMResult、javax.xml.transform.sax.SAXResult、javax.xml.transform.stax.StaxResult、java.io.OutputStream の各ソースをサポートします。

void setString(String value)

この SQLXML オブジェクトによって指定された XML 値を、指定された String 表現に設定します。

アプリケーションから SQLXML オブジェクトを介して XML 値の読み取りと書き込みを行うことができるのは 1 回だけです。

SQLXML オブジェクトは free() メソッドが呼び出された時点で無効になり、読み取りも書き込みもできなくなります。同じ SQLXML オブジェクトの (free() 以外の) メソッドを呼び出そうとすると、例外がスローされます。

アプリケーションから getSourcegetCharacterStreamgetBinaryStreamgetString のいずれかの getter メソッドが呼び出されると、SQLXML オブジェクトは読み取りも書き込みもできない状態となります。

アプリケーションから setResultsetCharacterStreamsetBinaryStreamsetString のいずれかの setter メソッドが呼び出されると、SQLXML オブジェクトは書き込みも読み取りもできない状態となります。

SQLXML インターフェイスの詳細については、Sun Microsystems の Web サイトを参照してください。

参照

概念

XML データのサポート