I posted a message detailing the "put" error when using Oracle as
content store.
[EMAIL PROTECTED] on this list pointed to me that I was using
"slidestore.reference.JDBCContentStore" class in the <contentstore>
node of Domain.xml file. He suggested that I use
"slidestore.oracle.OracleContentStore" class which is available.
I followed his suggestion, made a single line change in Domain.xml
file, and that makes all the difference. I am able to put Domain.xml,
and some 3MB binary files without any error.
I am glad OracleContentStore works. As for why JDBCContentStore
does not work, I suspect that BLOB column "content" of the
"revisioncontent" table in Oracle database requires special
handling. OracleContentStore uses Oracle privided package
"dbms_lob" to handle it, but JDBCContentStore does not. This is
only a suspicion. The following is SQL code that I found in
v$sqlarea when I do "PUT":
JDBCContentStore:
2002-10-16/23:25:05
insert into revisioncontent values(:1, :2, :3)
2002-10-16/23:25:05
select 1 from revisioncontent where uri = :1 and xnumber = :2
OracleContentStore:
2002-10-17/22:20:30
begin dbms_lob.write (:1, :2, :3, :4); end;
2002-10-17/22:20:30
insert into revisioncontent (uri, xnumber, content) values(:1,:2, :3)
2002-10-17/22:20:30
select content from revisioncontent where uri = :1 and xnumber= :2 for update
I have some other minor issues, which I think are minor bugs in slide
server/client:
(1) Slide does not like "_":
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ put
uwin_base_update3_1.win32.i386.exe uwin_base_update3_1.win32.i386.exe
Fatal Error: unexpected char: _
antlr.TokenStreamRecognitionException: unexpected char: _
at org.apache.webdav.cmd.ClientLexer.nextToken(ClientLexer.java:260)
at antlr.TokenBuffer.fill(TokenBuffer.java:61)
at antlr.TokenBuffer.LA(TokenBuffer.java:70)
at antlr.LLkParser.LA(LLkParser.java:50)
at org.apache.webdav.cmd.ClientParser.put(ClientParser.java:1244)
at org.apache.webdav.cmd.ClientParser.command(ClientParser.java:367)
at org.apache.webdav.cmd.ClientParser.commands(ClientParser.java:221)
at org.apache.webdav.cmd.Client.run(Client.java:159)
at org.apache.webdav.cmd.Slide.main(Slide.java:124)
Please, email to [EMAIL PROTECTED]
I changed the "_" to "-" in the filename, and it worked:
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ put
uwin-base-update3-1.win32.i386.exe uwin-base-update3-1.win32.i386.exe
put uwin-base-update3-1.win32.i386.exe uwin-base-update3-1.win32.i386.exe
Uploading 'uwin-base-update3-1.win32.i386.exe' to
'/slide/files/Products/mysecond-prod-b/uwin-base-update3-1.win32.i386.exe': succeeded.
(2) "PUT file" does not work ("PUT file file" does):
Per slide client help menu:
put {URL|file} [path] Put a given file or URL to path
The second argumet can be omitted. However, doing so generate an error:
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ put c.xml
put c.xml null
Uploading 'c.xml' to '/slide/files/Products/mysecond-prod-b/': failed.
Method Not Allowed (405)
The error message is misleading. I took me a while to figure out
that it expects me to do "PUT file file"
(3) "PUT /full/path/file file" does not work, but
"lcd /full/path", "PUT file file" work.
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ put /usr/bin/bash bash
put /usr/bin/bash bash
Warning: File not exists
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ lcd /usr/bin
lcd /usr/bin
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ put bash bash
put bash bash
Uploading 'bash' to '/slide/files/Products/mysecond-prod-b/bash': succeeded.
What I expect to work may be too unix. But why cannot I expect it
if "get file /full/path/file" works:
[LOCALHOST] /slide/files/Products/mysecond-prod-b/ $ get bash /tmp/bash
get /slide/files/Products/mysecond-prod-b/bash /tmp/bash
Downloading '/slide/files/Products/mysecond-prod-b/bash' to '/tmp/bash': succeeded.
so things are not consistent.
--
Michael Wang
http://www.unixlabplus.com/
--
To unsubscribe, e-mail: <mailto:slide-user-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:slide-user-help@;jakarta.apache.org>