SQL Transformer works fine, so does ESQL and other stuff, only the DatabaseReader fails when reading and serializing a binary column. This is very bizarre. I've also tried putting the mime-type setting in the component configuration, sitemap-invocation, the "content-type" -parameter, "type-column", switched between JDK1.5/JDK1.4, Tomcat4/Tomcat5.5, Cocoon2.1.5/Cocoon2.1.7 and all different combinations of these. I also built the 2.1.7 from scratch as is, without modifications but the SQL-driver in web.xml and JDBC-configuration in cocoon.xconf to match SQL Server's needs. The upload/download -sample does the same thing, returning 0 bytes.

How could I debug this more?

-Tuomo

On Sun, 17 Jul 2005, Andrew Franz wrote:

I haven't used SQL server from C2.
All I can suggest is to keep on isolating the problem, e.g try the JDBC driver directly under Tomcat using JSP
e.g. try the following - put it under webapps/jsp-examples
(substitute driver & url accordingly, the following is for Oracle)

If it works, the problem is your Cocoon setup or Cocoon. If not, the problem is the driver or JDBC setup.

Sometimes I think that it would be quicker and easier to strip away *all* of the layers and go back to using the file system.


<?xml version="1.0"?>
<jsp:root version="1.2"
  xmlns:jsp="http://java.sun.com/JSP/Page";
  xmlns:c="http://java.sun.com/jsp/jstl/core";
  xmlns:sql="http://java.sun.com/jsp/jstl/sql";>
<jsp:directive.page contentType="text/html"/>
<jsp:directive.page import="java.text.*"/>

<sql:setDataSource var="xdb" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:dbname" user="scott" password="tiger" />
<html>
<body>
<sql:query var="qkpi" dataSource="${xdb}" maxRows="20" startRow="0">SELECT * FROM mytable</sql:query>
<table border="1">
<c:forEach var="columnName" items="${qkpi.columnNames}"><td><c:out value="${columnName}"/></td></c:forEach>
<c:forEach var="row" items="${qkpi.rowsByIndex}" varStatus="vs">
<tr><c:forEach var="col" items="${row}"><td><c:out value="${col}"/></td></c:forEach></tr>
</c:forEach>
</table>
</body>
</html>
</jsp:root>


Tuomo L wrote:

Thanks, I tested the sample, and it does work with HSQLDB. But when I tested it against SQL Server with similar results I got before: Upload works but reading the file with DatabaseReader returns 0 bytes. :(

So, my guess is, something has changed between 2.1.5 and 2.1.7 that makes
the JDBC driver for SQL Server incompatible with Cocoon. With the jar-files from 2.1.5 (same setup otherwise) this works. What could this change be?

The method that throws this error "Assuming client reset stream" in DatabaseReader.java is:

public void generate() throws ProcessingException, SAXException, IOException {
        try {
            Response response = ObjectModelHelper.getResponse(objectModel);
            this.serialize(response);
        } catch (IOException ioe) {
            getLogger().warn("Assuming client reset stream");

            this.doCommit = false;
        } catch (Exception e) {
            this.doCommit = false;

throw new ResourceNotFoundException("DatabaseReader error:", e);
        }
    }


-Tuomo

On Sun, 17 Jul 2005, Andrew Franz wrote:

DatabaseReader is used in the samples:
http://localhost:8080/cocoon/samples/blocks/databases/mod-db/file-upload-blob (Cocoon 2.1.7, Tomcat 5.5)

After upload, this uses DatabaseReader to retrieve the image from HSQLDB.
If this works ok, then the problems are with SQL Server maybe the column definition


Tuomo L wrote:

Hi,

Is anyone using the DatabaseReader with Cocooon 2.1.7 ? We just cannot get
it to function. Log says "Assuming client reset stream".

If it works, could you please tell which versions of Java, Tomcat and db you have on what system? We're trying to figure out the source for this
problem. With Cocoon 2.1.5 everything works fine. We are using SQL Server
2000 and it's latest JDBC driver provided by MS.

-Tuomo


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Reply via email to