【问题标题】:Can't create table in DB2无法在 DB2 中创建表
【发布时间】:2016-09-24 20:46:09
【问题描述】:

我无法通过 Eclipse 在 DB2 中创建表。卡了很久,找了很多遍,出现以下错误:

错误 SQLCODE=-204

下面是我的代码:

CREATE TABLE BaseEntity( 
    wts Timestamp NOT NULL, 
    siteID NOT NULL, 
    oid varchar2(11), 
    PRIMARY KEY (oid),
    AccelerationVector varchar2(8),
    DeadReckoningAlgorithm varchar2(8),
    Orientation varchar2(8),
    WorldLocation varchar2(8),
    VelocityVector varchar2(8) 
)

com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL 错误:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=NOT,DRIVER=3.63.123

at com.ibm.db2.jcc.am.fd.a(fd.java:679)
at com.ibm.db2.jcc.am.fd.a(fd.java:60)
at com.ibm.db2.jcc.am.fd.a(fd.java:127)
at com.ibm.db2.jcc.am.ho.b(ho.java:2317)
at com.ibm.db2.jcc.am.ho.c(ho.java:2300)
at com.ibm.db2.jcc.t4.cb.l(cb.java:370)
at com.ibm.db2.jcc.t4.cb.a(cb.java:62)
at com.ibm.db2.jcc.t4.q.a(q.java:50)
at com.ibm.db2.jcc.t4.tb.b(tb.java:220)
at com.ibm.db2.jcc.am.io.lc(io.java:3318)
at com.ibm.db2.jcc.am.io.b(io.java:4275)
at com.ibm.db2.jcc.am.io.dc(io.java:759)
at com.ibm.db2.jcc.am.io.executeUpdate(io.java:742)
at testDB.XmlToDBSchema.insertIntoDB(XmlToDBSchema.java:37)
at testDB.XmlToDBSchema.createDBSchma(XmlToDBSchema.java:191)
at testXMLPar.testXML.main(testXML.java:16)

【问题讨论】:

  • VARCHAR2 只能在启用的情况下使用 (varchar2_compat)
  • 为什么在声明中间有PRIMARY KEY

标签: java sql eclipse db2


【解决方案1】:

错误 -204 指的是未定义的名称,这可能有多种原因。 See here for an overview。在您的情况下,该语句有几个问题:

  • siteID 没有类型,
  • 主键在语句中间,应该移到最后
  • varchar2 只能在已启用数据库的情况下使用,否则您可能会收到此错误消息

要纠正错误,您必须重写语句,在需要时使用数据类型并确保启用 varchar2 支持(检查get db cfg)。

【讨论】:

    猜你喜欢
    • 2015-01-06
    • 2023-03-20
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    相关资源
    最近更新 更多