Customer Portal

Error: Can't handle JDBC.Type :0

Comments 6

  • Avatar
    avackova
    0
    Comment actions Permalink
    Hello,
    it seems that in the database you have column with "unknown" data type, that clover can't convert to any clover type. Can you provide table description? Then I could do more investigation.
  • Avatar
    hansbure
    0
    Comment actions Permalink
    Agata,

    Thanks for the reply.

    The database contains fields with types (varchar, numeric, tinyint, and datetime). The only one that sticks out (to me) might be the datetime, but it is a pretty standard MSSQL field, is it not?

    The (simplified) schema looks like:

    CREATE TABLE [dbo].[MEMBER](
    [id] [varchar](36) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [version] [numeric](19, 0) NOT NULL,
    [dateOfBirth] [datetime] NOT NULL,
    [lastName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [firstName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [middleName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [companyEmployee] [tinyint] NULL,
    [dateOfDeath] [timestamp] NULL
    )

    Does any of that stick out to you (or anyone else) as incorrect or not supported?

    Thanks
    Hans
  • Avatar
    avackova
    0
    Comment actions Permalink
    Hi Hans,
    I can't reproduce the problem. My node:
    <Node dbConnection="Connection1" id="DB_OUTPUT_TABLE0" sqlQuery="INSERT INTO MEMBER (id, version, dateOfBirth, lastName, firstName, middleName, companyEmployee)&#10;VALUES ($id, $version, $dateOfBirth, $lastName, $firstName, $middleName, $companyEmployee)" type="DB_OUTPUT_TABLE"/>

    works properly in 2.7 as well as in 2.6 version.
    What CloverETL version do you use? Can you show your graph?
  • Avatar
    hansbure
    0
    Comment actions Permalink
    Hi Agata,

    Sorry to have not responded, but I was pulled away from this issue for a bit. I am, however, still seeing this issue.

    To help narrow it down, I have created the following test case/graph (run on Clover Designer v2.2.1):

    <?xml version="1.0" encoding="UTF-8"?>
    <Graph author="mhansbury" created="Wed Jun 17 13:33:25 EDT 2009" guiVersion="2.2.1" id="xxxxxxxxxxxx" licenseType="Commercial License xxxxxxxxxxxxxx" modified="Wed Jun 17 16:05:04 EDT 2009" modifiedBy="hansbure" name="testGraph" revision="1.13">
    <Global>
    <Metadata fileURL="meta/recordName1.fmt" id="Metadata0"/>
    <Connection dbDriver="net.sourceforge.jtds.jdbc.Driver" dbURL="jdbc:jtds:sqlserver://127.0.0.1/clover_test" driverLibrary="file:/E:/jtds-1.2.2/jtds-1.2.jar" id="Connection0" jndiName="" name="test_db" password="password" type="JDBC" user="sa"/>
    <Connection database="MYSQL" dbURL="jdbc:mysql://localhost:3306/clovertest" id="Connection1" jdbcSpecific="MYSQL" jndiName="" name="test_db_mysql" password="" type="JDBC" user="root"/>
    <Property fileURL="workspace.prm" id="GraphParameter0"/>
    </Global>
    <Phase number="0">
    <Node enabled="enabled" fileURL="${DATAOUT_DIR}/test.csv" guiHeight="0" guiName="UniversalDataReader" guiWidth="0" guiX="63" guiY="91" id="DATA_READER0" type="DATA_READER"/>
    <Node dbConnection="Connection0" dbTable="test" enabled="enabled" guiHeight="0" guiName="DBOutputTable" guiWidth="0" guiX="302" guiY="91" id="DB_OUTPUT_TABLE0" type="DB_OUTPUT_TABLE"/>
    <Edge fromNode="DATA_READER0:0" guiBendpoints="" id="Edge1" inPort="Port 0 (in)" metadata="Metadata0" outPort="Port 0 (output)" toNode="DB_OUTPUT_TABLE0:0"/>
    </Phase>
    </Graph>

    As you can see, it is a *very* simple graph that simply reads in a file with four fields, and writes the data, untouched into the db. There are two connections set up, one to MSSQL, and one to MySql. When using the MySql one, things are fine. They fail with the above posted error against MSSQL, however. The table structure (in MSSQL) is:

    CREATE TABLE [dbo].[test](
    [test_string] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [test_number] [numeric](18, 0) NULL,
    [test_boolean] [tinyint] NULL,
    [test_date] [datetime] NULL
    )

    In fact, as I have worked through this example, I have even dumbed this down to a single varchar(50) field, and I can still replicate this issue.

    By the way, this is SQL Server 2005.

    Does any of this information help diagnose this issue?

    Thanks
    Hans
  • Avatar
    avackova
    0
    Comment actions Permalink
    Hello Hans,
    it seems that CloverETL doesn't correctly works with this driver. I've reported two issues to our bug tracking systems: http://bug.cloveretl.org/view.php?id=2224 and http://bug.cloveretl.org/view.php?id=2223. In time being you have to use different jdbc driver (with MS driver - com.microsoft.sqlserver.jdbc.SQLServerDriver - it works correctly).
  • Avatar
    hansbure
    0
    Comment actions Permalink
    Thanks Agata for working through this with me.

    I did get the Microsoft driver to work after a bit of work (some weird port things - likely just a SQLServer issue), so we can move forward.

    Thanks
    Hans

Please sign in to leave a comment.