2010-07-24 15 views
0

我与HSQLDB自始无效字符,但我打了这个问题,并不能弄清楚是怎么回事:HSQLDB:重复的列名,不支持的内部操作:类型,投

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 

抛出:

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 

抛出:

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 

抛出:

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) 

回答

0

好吧,这很简单。 我忘了用注释忽略导入的文本数据的第一行,所以它是无效的语法。 太可惜了:)

+0

顺便说一句,如果有人知道的HSQL的形式'选择1 FROM DUAL',请告诉... – 2010-07-24 03:53:00

+1

HSQLDB 2.0 “VALUES(1)” HSQLDB 1.8 “CREATE TABLE DUALÇINT” “INSERT INTO DUAL VALUES 0” “SELECT 1 FROM DUAL” – fredt 2010-07-26 18:45:07

+0

Fredt @请在异常消息中包含列/表名...由org.hsqldb.HsqlException引起:数据异常:用于转换的无效字符值< - 哪里不对 ??? – 2011-01-31 22:39:33

相关问题