我用jdbc连到oracle, 插入语句 
INSERT INTO Buildings VALUES('b0', 'PSA', 12, 
                             SDO_GEOMETRY(2003,
                                          NULL,
                                          NULL,
                                          SDO_ELEM_INFO_ARRAY(1,1003,4),
                                          SDO_ORDINATE_ARRAY(79, 68, 184, 125, 179, 133, 189, 138, 
                                                             139, 229, 131, 225, 127, 233, 21, 175,
                                                              26, 168, 18, 163, 67, 73, 74, 76)
                                           ));
我直接插就可以插入,可是放进
statement..executeUpdate()l里 就会说是 invalid character。
实在是想不出哪里的问题呢? 请大家多多指教 谢谢^^

解决方案 »

  1.   

    ORA-00911: invalid character at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
    at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
    at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1606)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1571)
    at Populate.populating(Populate.java:116)
    at Populate.main(Populate.java:37)具体错误如上
      

  2.   

    SDO_ELEM_INFO_ARRAY
    SDO_ORDINATE_ARRAY 这两个是函数吧?  我觉得是不是你的参数传错了?
    比如  SDO_ELEM_INFO_ARRAY(1,1003,4) 应该是三个参数‘1’,‘1003’,‘4’,而你是不是用‘1,1003,4’来表示了?