2010-07-24 4 views
0

Je commence avec HSQLDB, mais je frappe ce problème et ne peut pas comprendre ce qui se passe:HSQLDB: nom de la colonne en double, fonctionnement interne non pris en charge: Type, le caractère non valide pour cast

CREATE TEXT TABLE ozizkaindata (
    jobName VARCHAR(255) NOT NULL, 
    buildNumber VARCHAR(255) NOT NULL, 
    config VARCHAR(255) NOT NULL, 
    ar VARCHAR(255) NOT NULL, 
    arFile VARCHAR(255) NOT NULL, 
    deployDur VARCHAR(255) NOT NULL, 
    warmupDur VARCHAR(255) NOT NULL, 
    scale VARCHAR(255) NOT NULL 
) 

SELECT *, ((0.0 + warmupDur)/deployDur) AS xwarmupSlower FROM ozizkaindata ORDER BY deployDur 

Lancers:

Caused by: org.hsqldb.HsqlException: duplicate column name in derived table 
    at org.hsqldb.error.Error.error(Unknown Source) 
    at org.hsqldb.error.Error.error(Unknown Source) 
    at org.hsqldb.QuerySpecification.addSelectColumnExpression(Unknown Source) 
    at org.hsqldb.ParserDQL.XreadSelect(Unknown Source) 
    ... 

SELECT ((0.0 + warmupDur)/deployDur) FROM ozizkaindata ORDER BY deployDur 

lancers:

Caused by: java.lang.RuntimeException: unsupported internal operation: Type 
    at org.hsqldb.error.Error.runtimeError(Unknown Source) 
    at org.hsqldb.types.Type.divide(Unknown Source) 
    at org.hsqldb.ExpressionArithmetic.getValue(Unknown Source) 
    at org.hsqldb.QuerySpecification.buildResult(Unknown Source) 
    at org.hsqldb.QuerySpecification.getSingleResult(Unknown Source) 
    at org.hsqldb.QuerySpecification.getResult(Unknown Source) 
    at org.hsqldb.StatementQuery.getResult(Unknown Source) 

SELECT ((0.0 + CAST(warmupDur AS INT))/CAST(deployDur AS INT)) AS xwarmupSlower FROM ozizkaindata 

Lancers:

Caused by: org.hsqldb.HsqlException: data exception: invalid character value for cast 
    at org.hsqldb.error.Error.error(Unknown Source) 
    at org.hsqldb.error.Error.error(Unknown Source) 
    at org.hsqldb.Scanner.convertToNumber(Unknown Source) 
    at org.hsqldb.types.NumberType.convertToType(Unknown Source) 
    at org.hsqldb.types.Type.castToType(Unknown Source) 
    at org.hsqldb.ExpressionOp.getValue(Unknown Source) 
    at org.hsqldb.ExpressionArithmetic.getValue(Unknown Source) 
    at org.hsqldb.ExpressionArithmetic.getValue(Unknown Source) 
    at org.hsqldb.QuerySpecification.buildResult(Unknown Source) 
    at org.hsqldb.QuerySpecification.getSingleResult(Unknown Source) 
    at org.hsqldb.QuerySpecification.getResult(Unknown Source) 

Répondre

0

D'accord, ce fut facile. J'ai oublié d'ignorer la première ligne de mes données de texte importées avec un commentaire, donc c'était une syntaxe invalide. Quelle honte :)

+0

BTW si quelqu'un sait la forme de HSQL de 'SELECT 1 DE DUAL', pls dire ... –

+1

HSQLDB 2.0 "VALEURS (1)" HSQLDB 1,8 "CREATE TABLE DOUBLE C INT" "INSERT INTO DUAL VALUES 0" "SELECT 1 FROM DUAL" – fredt

+0

Fredt @ veuillez inclure le nom de la colonne/table dans les messages d'exception ... Causé par: org.hsqldb.HsqlException: exception de données: valeur de caractère non valide pour la conversion <- - Qu'est-ce qui ne va pas ??? –

Questions connexes