2011-02-10 17 views
0

'text'型のSybase列にvey big xmlを挿入しています。大きなXMLをsybaseに書き込んで読み込みますか?

私はPreparedStatementのsetStringを使用してgetStringを使用してそれを読み書きしています。

しかし、getStringを使用して選択すると、完全なXMLが取得されません。

完全なXMLを読み書きするにはどうすればよいですか?

答えて

1

SybaseはCLOBデータ型をサポートしていません(大規模なXMLを格納する方が適しています)。 PreparedStatementでは、setString()の代わりにsetClob()を使用する必要があります。

+0

いいえいいえSybaseにCLOBデータ型がありません。 – fR0DDY

+0

CLOBは、Sybaseテキストのような大きな文字列にデータを格納するためのJava/JDBC技術です。 Sybaseテキスト列でCLOBを使用できます。 –

0

8192バイトを超えるテキスト列を書き込むと、Sybase ASE 15にバグがあります。文字列(XML)の位置が無効で、(Sybaseデータベースの有効な文字セットに準拠していない)テキストの8192文字を書き、操作が成功したことを伝えます。

+0

しかし私のXMLには不正な文字はありません。ちょっと大きめです。私はまた、完全なXMLを挿入している間挿入されていると思うが、読んでいる間は、XMLの一部だけが取得されます。 – fR0DDY

関連する問題