2010-07-24 51 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

相關問題