I've been playing around with some basic SQL queries and generally
finding it easy enough to do... managed to get connections to MySQL and
Postgres, both locally and on remote machines.

I've now tried connecting to MS SQL Server... ahem... and of course, I'm
now having more problems.

What I've done is taken the sql-page examples, and made a new datasource
in the cocoon.xconf file that looks like this:

    <jdbc logger="core.datasources.test" name="test">
      <pool-controller max="10" min="5"/>
      <dburl>jdbc:weblogic:mssqlserver4:dbname@host_address:1433</dburl>
      <user>xxxx</user>
      <password>yyyy</password>
    </jdbc>

The dbname, host_address etc, are real in my file... just obscured for
discussion... and they definitely work since they were pasted verbatim
from a simple JDBC test harness written in Java, and compiled and run on
the same machine.

The Driver is definitely available to Cocoon, because I added it to
classpath in catalina.sh, and I was getting ClassNotFoundException before...

My web.xml file has this in it:

    <init-param>
      <param-name>load-class</param-name>
      <param-value>
        org.hsqldb.jdbcDriver
        org.postgresql.Driver
        weblogic.jdbc.mssqlserver4.Driver
      </param-value>
    </init-param>

and sitemap.xml has this in it:

   <map:match pattern="mssql/*">
    <map:generate src="vxml/{1}.xml"/>
    <map:transform type="sql">
      <map:parameter name="use-connection" value="test"/>
    </map:transform>
    <map:transform src="vxml/xml-html.xsl"/>
    <map:serialize type="html"/>
   </map:match>

and the url I access to get there is this:

    http://localhost:8080/cocoon/mssql/sql-page

where sql-page.xml is:

<?xml version="1.0"?>

<page xmlns:sql="http://apache.org/cocoon/SQL/2.0";>

 <title>Postgres test</title>
 <content>
  <para>Querying stuff from my laptop with Postgres</para>
  <para>Currently going through HyperSQL</para>

  <execute-query xmlns="http://apache.org/cocoon/SQL/2.0";>
    <query>
      SELECT ServiceID FROM tblService
    </query>
  </execute-query>
 </content>
</page>


Once again, this query definitely works from my simple JDBC test harness,
but not in cocoon...

I found exactly 2 mentions of this problem before in the Cocoon archives
(but for Postgres)... neither with an answer.

I'm finding this pretty baffling...

What could possibly be making this query fail?

The Tomcat and Cocoon logs don't tell me anything that I can't already
see from the Exception report. I can't seem to find where Cocoon puts the
custom logger log files... any hints here?

Anyone else had this problem? If so, I'd like to hear how you got around
it. I'm betting it's something WAY simple that I'm missing, but just
can't seem to make any difference...



Exception report below:

-----------------------------    

org.apache.catalina.core.ApplicationF
ilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.Applicat
ionFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.Standard
WrapperValve.invoke(StandardWrapperValve.java:243)

... etcetera...

root cause 
java.lang.AbstractMethodError   at org.
apache.avalon.excalibur.datasource.Jd
bcConnection.prepareStatement(JdbcConnection.java:172)
        at org.apache.cocoon.transformation.
SQLTransformer$Query.execute(SQLTransformer.java:1014)
        at org.apache.cocoon.transformation.
SQLTransformer.executeQuery(SQLTransformer.java:271)
        at org.apache.cocoon.transformation.
SQLTransformer.endExecuteQueryElement(SQLTransformer.java:417)
        at org.apache.cocoon.transformation.
SQLTransformer.endElement(SQLTransformer.java:702)
        at org.apache.cocoon.components.sax.
XMLTeePipe.endElement(XMLTeePipe.java:124)
        at org.apache.xerces.parsers.Abstrac
tSAXParser.endElement(AbstractSAXParser.java:568)
        at org.apache.xerces.impl.XMLNamespa
ceBinder.handleEndElement(XMLNamespaceBinder.java:853)
        at org.apache.xerces.impl.XMLNamespa
ceBinder.endElement(XMLNamespaceBinder.java:643)
        at org.apache.xerces.impl.dtd.XMLDTD
Validator.handleEndElement(XMLDTDValidator.java:3006)
        at org.apache.xerces.impl.dtd.XMLDTD
Validator.endElement(XMLDTDValidator.java:930)
        at org.apache.xerces.impl.XMLDocumen
tFragmentScannerImpl.handleEndElement
(XMLDocumentFragmentScannerImpl.java:1145)
        at org.apache.xerces.impl.XMLDocumen
tFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:988)
        at org.apache.xerces.impl.XMLDocumen
tFragmentScannerImpl$FragmentContentD
ispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1446)
        at org.apache.xerces.impl.XMLDocumen
tFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.Standar
dParserConfiguration.parse(StandardParserConfiguration.java:525)
        at org.apache.xerces.parsers.Standar
dParserConfiguration.parse(StandardParserConfiguration.java:581)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.Abstrac
tSAXParser.parse(AbstractSAXParser.java:1157)
        at org.apache.avalon.excalibur.xml.JaxpParser.parse(JaxpParser.java:241)
        at org.apache.cocoon.components.sour
ce.AbstractStreamSource.toSAX(AbstractStreamSource.java:206)
        at org.apache.cocoon.generation.File
Generator.generate(FileGenerator.java:142)
        at org.apache.cocoon.components.pipe
line.CachingEventPipeline.process(CachingEventPipeline.java:251)
        at org.apache.cocoon.components.pipe
line.CachingStreamPipeline.process(CachingStreamPipeline.java:399)
        at org.apache.cocoon.www.sitemap_xmap.matchN1081A(/home/dayv/jakarta-
tomcat-4.0.3/work/localhost/cocoon/cocoon-files/org/apache/cocoon/www/
sitemap_xmap.java:10245)
        at org.apache.cocoon.www.sitemap_xmap.process(/home/dayv/jakarta-tomcat-
4.0.3/work/localhost/cocoon/cocoon-files/org/apache/cocoon/www/
sitemap_xmap.java:3711)
        at org.apache.cocoon.www.sitemap_xmap.process(/home/dayv/jakarta-tomcat-
4.0.3/work/localhost/cocoon/cocoon-files/org/apache/cocoon/www/
sitemap_xmap.java:3097)
        at org.apache.cocoon.sitemap.Handler.process(Handler.java:222)
        at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:179)
        at org.apache.cocoon.sitemap.SitemapManager.process(SitemapManager.java:154)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:575)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:998)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.Applicat
ionFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.Applicat
ionFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.Standard
WrapperValve.invoke(StandardWrapperValve.java:243)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.Standard
Pipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.Standard
ContextValve.invoke(StandardContextValve.java:190)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.Standard
Pipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
        at org.apache.catalina.core.Standard
HostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.ErrorD
ispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.ErrorR
eportValve.invoke(ErrorReportValve.java:170)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.Standard
Pipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.Standard
EngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.Standard
Pipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.Standard
Pipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.connector.htt
p.HttpProcessor.process(HttpProcessor.java:1012)
        at org.apache.catalina.connector.htt
p.HttpProcessor.run(HttpProcessor.java:1107)
        at java.lang.Thread.run(Thread.java:479)

------------------------------------------------------------------------

-----------------------------------------------
David Parry

Pronoic (the opposite of paranoic):
forces are conspiring to make your life better.




---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

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

Reply via email to