0 Replies Latest reply on Dec 20, 2004 6:40 PM by abcolson

    Creating JMS_MESSAGES: Invalid SQL

    abcolson

      Hello Users,

      I am using Jboss 4.0.0RC2 with an MS Access database.

      Apparently Jboss does not provide the datatype mappings for MS Access so I have tried to create my own, which may be part of the problem.

      Ths issue is when I start up JBoss I get the following error:

      2004-12-20 14:58:40,203 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Could not create table with SQL:
      CREATE CACHED TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), MESSAGEBLOB OBJECT, PRIMARY KEY (MESSAGEID, DESTINATION) )

      java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in CREATE TABLE statement.


      When I try the exact sql in Access I do in fact get 2 errors:

      1) Keyword "CACHED"
      2) MESSAGEBLOB OBJECT

      I put in a mapping changing OBJECT to OLEOBJECT. However, I don't exactly know what to do about "CACHED"; I tried to map it to nothing via the function-mapping element.

      After all this I still get the same error.

      Question:

      Should JBoss be using my mapped definitions for Access for these JMS transactions? It doesn't appear that it does.

      I also tried enabling the TRACE functionality in the log4j.xml file:

      <category name="org.jboss.ejb.plugins">
       <priority value="TRACE" class="org.jboss.logging.XLevel"/>
       </category>
      


      to look at the transformed SQL according to my mappings; no dice.

      I am wondering if I may have to physically modify the code in hsqldb-jdbc2-service.xml, but I don't like that idea.

      Insights appreciated, and thank you.
      Tony