- PR -

無料で使えるxmlデーターベース(4)

1
投稿者投稿内容
sei
会議室デビュー日: 2003/02/13
投稿数: 5
投稿日時: 2003-02-20 16:44
やっと「4-2. Javaアプリケーションから更新・削除を実行する」までたどり着いたのですが、XUpdateが出来ません。
サンプルをそのまま実行しているのですが下記のエラーとなります。
C:\Xindice>java -Djava.endorsed.dirs=%XINDICE_HOME%\java\lib\endorsed XUpdate up
date.xml
org.apache.xindice.client.corba.db.APIException: IDL:org/apache/xindice/client/c
orba/db/APIException:1.0
at org.apache.xindice.client.corba.db.APIExceptionHelper.read(APIExcepti
onHelper.java:112)
at org.apache.xindice.client.corba.db._CollectionStub.queryCollection(_C
ollectionStub.java:833)
at org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.upda
teResult(XUpdateQueryServiceImpl.java:165)
at org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.upda
te(XUpdateQueryServiceImpl.java:185)
at XUpdate.main(xupdate.java:42)
XML:DB Exception occured 1
org.xmldb.api.base.XMLDBException: Query Compilation Error

エラー個所は long num = service.update(xupdate.toString()); なので、
外部ファイル(update.xml)を使用せず直にxmlの内容を記述(String xupdate = うんぬんをcopy)してみると、実行時エラーにはならないのですが、Number: 0 で何も更新されません。

javaコマンド実行時にオプションを付ける個所でstartup.batを書き換えて下さい。と書かれていますがどこをどう書き換えればよいのか分からないので何も変更していません。
それをしていないので実行時エラーとなっているのかもしれませんが。
どなたかご教授お願い致します。

環境
win2000
Apache Tomcat 4.0
jdk1.3.1
xindice1.0
sei
会議室デビュー日: 2003/02/13
投稿数: 5
投稿日時: 2003-02-21 09:46
昨日あれだけ悩んだのに今朝ふと気づきました。
サンプルの下記が間違っていました。
<xupdate:update select="problem[@id='ID0002']/ @status">
これを
<xupdate:update select="//problem[@id='ID0002']/ @status">
に直すと直にxmlを埋め込んでもupdate.xmlの外部ファイルにしても動くようになりました。
やっとこれで一通り出来たゾ。
結局自己解決出来たけど、私の書き込みが誰かのお役に立てれば幸いです。
karmacoma
会議室デビュー日: 2003/04/30
投稿数: 2
投稿日時: 2003-04-30 20:20
seiさんの修正箇所を私も試してみましたが、下記のエラーが帰ってきます。

ーコマンドプロンプトー
C:\tomcat4.1\webapps\XindiceSample>java XUpdate update.xml
org.apache.xindice.client.corba.db.APIException:IDL:org/apache/xindice/client/corba/db/APIException:1.0
at org.apache.xindice.client.corba.db.APIExceptionHelper.read(APIExceptionHelper.java:112)
at org.apache.xindice.client.corba.db._CollectionStub.queryCollection(_CollectionStub.java:833)
at org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.updateResult(XUpdateQueryServiceImpl.java:165)
at org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.update(XUpdateQueryServiceImpl.java:185)
at XUpdate.main(XUpdate.java:39)
XML:DB Exception occured 1
org.xmldb.api.base.XMLDBException: Query Processing Error

Query Processing Errorということでseiさんとは違っていますが。
ちなみに、サンプルのソースをそのまま実行しますと、Number0が帰ってきます。

JDK1.4を使っているからなのでしょうか?
また、どなたか同じ環境でうまく実行結果が得られた方いましたら教えてください。

[環境]
Win2000
jdk1.4.1
Tomcat4.1
Xindice1.0
1

スキルアップ/キャリアアップ(JOB@IT)