- - PR -
Oralce10gのXMLTypeとXMLの作成
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-03-06 14:09
こんにちは、お世話になっています。
今 Oracle10g にXML文書を格納する、ということをしています。 テーブルは CREATE TABLE DOCS ( ID NUMBER(20) NOT NULL, DATA XMLTYPE PRIMARY KEY(ID) ) XMLの格納は http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/appdev.102/B19255-01/xdb11jav.htm を参照に XMLの作成は http://www.techscore.com/tech/J2SE/DOM/3.html を参照にしました。 しかし2つの問題が発生しました。 1)XMLType.createXMLで ClassCastException が発生する 2)Transformer.transformで javax.xml.transform.TransformerException: XML-22101: (Fatal Error) DOMSource node as this type not supported. が発生する 1) サーバTomcatのDatasourceを利用してConnctionを取得した際に発生しました。 DriverManagerを使用してConnectionを取得すれば問題は発生しません。 2) 素で作成すると発生しないのですが、1)のXMLTypeを利用するために Oracleのライブラリxmlparserv2.jarとxdb.jarをクラスパスに通すと 発生します。 このことについて何か回避方法をご存知の方いらっしゃいませんでしょうか。 よろしくお願いします。 |
|
投稿日時: 2007-03-07 02:08
せっかくの商用製品ですからサポート窓口に問いあわせてみてはいかがでしょう?
|
|
投稿日時: 2007-03-09 17:53
お返事ありがとうございます。
先ほどOracleに問い合わせました。 早く結果が出るといいな 解決しましたらまたそのときに。 |
|
投稿日時: 2007-03-10 08:48
こんにちは。
問題1については、Tomcat の DataSource が返す Connection が OracleConnection を ラップした DataSource の独自 Connection であるからではないかと思います。 # connection.close() で実際に Connection を閉じずにプールに返すよう、 # なんらかのラッパーで OracleConnection をラップしているわけです。 Commons DBCP を使っていると仮定するならば、DelegatingConnection でキャストして getDelegate() すればラップ元の Connection を取得できるはずです。 http://jakarta.apache.org/commons/dbcp/apidocs/org/apache/commons/dbcp/DelegatingConnection.html 問題2についてはよくわかりません。 |
1