我想在JDBC里向oracle增加一个DATE类型的数据。语句是
sql = "insert into test_date values(to_timestamp('2002-10-22 00:00:00.0','yyyy-mm-dd hh24:mi:ss.ff'));";
为什么在oracle的sqlplus里没问题,可是在jdbc里,却老是提示java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
???有什么解决方法吗??
在网上搜了下,
有要用preparedstatement进入插入的
可我想直接用拼sql语句这样能不能实现呢???

解决方案 »

  1.   

    DateUtils.formatDateTime('你要传的参数','YYYY-MM-DD HH24:MI:SS')
      

  2.   

    sql = "insert into test_date values(to_date('2002-10-22 00:00:00.0','yyyy-mm-dd hh24:mi:ss.ff'));";
      

  3.   

    oracle某个版本的jdbc驱动有无效字符的bug,重新下载最新的驱动试试。
      

  4.   

    还是java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符~~~~
    LS自己可以正解运行吗???可以的话,你用的驱动是哪个版本的啊??
      

  5.   


    create table TEST_DATE
    (
      TEST_ID VARCHAR2(32),
      A_DATE  DATE
    )
    insert into test_date values('a',to_date('2010-03-01','yy-mm-dd'))
      

  6.   

    555555555~~~怎么连建个表都不行了。。
    Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test", "jin", "metal");
    stat = conn.createStatement();
    sql = "create table TEST_DATE( TEST_ID VARCHAR2(32), A_DATE  DATE );";
    System.out.println("metal");
    stat.execute(sql);
    老是说 无效字符~~~~
      

  7.   

    sql = "create table TEST_DATE( TEST_ID VARCHAR2(32), A_DATE DATE );";
    你这sql写的不对啊 ,又不是批处理,不需要";"
      

  8.   

        sql = "insert into test_date values(to_timestamp('2002-10-22 00:00:00.0','yyyy-mm-dd hh24:mi:ss.ff'));";你的表里面只有一列吗?要是只有一列的话,转化格式的时候不是用to_timestamp ,使用to_date,就是把日期格式转化为制定的格式