当前位置: 首页 > 知识库问答 >
问题:

使用JDBC prepared语句插入时出错

蒋航
2023-03-14

我试图使用以下JDBC语句将一些值插入到来自Java的Oracle DB中:

String SQL_PREP_INSERT = "INSERT INTO ABC.TEST (LOG_ID, SESSION_ID,USER_ID) VALUES"
            + " (ABC.logid_seq.nextval, ?, ?)";

stmt = con.prepareStatement(SQL_PREP_INSERT);
stmt.setString(1, sessionId);
stmt.setString(2, userid);
stmt.execute();
stmt.close();

序列创建如下:

create sequence  ABC.logid_seq
minvalue 1 maxvalue 9999999999999999999999 
increment by 10 start with 10 cache 20 noorder  nocycle ;

我得到以下错误,

java.sql.SQLException: ORA-00942: table or view does not exist

但当我尝试手动插入到表中时,它是成功的。

insert into ABC.test(LOG_ID,SESSION_ID,USER_ID) values 
    (VZPPTL.logid_seq.nextval,'test_session', '001');

有什么问题?

共有1个答案

萧自珍
2023-03-14

可能查看的是错误的表或数据库。你确定你从代码中找到了正确的数据库吗?

 类似资料:
  • 是否可以使用 Python 卡桑德拉驱动程序的预准备语句将时间戳值插入到卡桑德拉键空间中?当我尝试这样做时,我收到以下错误消息: 预期:<code> 我看到这个问题以前已经讨论过了。但不确定是否已经解决了。怎么做?使用简单的语句做同样的事情效率低下。

  • 问题内容: 我正在用React构建一些东西,我需要在JSX中插入带有React变量的HTML。有没有办法像这样一个变量: 并像这样将其插入反应中并起作用? 并按预期插入HTML吗?我还没有看到或听到任何有关可以内联执行此操作的react函数的信息,也没有听说过任何可以使之起作用的解析方法。 问题答案: 您可以使用dragonallySetInnerHTML,例如

  • 问题内容: 我正在尝试像这样从C#向我的数据库中插入一个空值: DBNull.Value是日期可以在的地方,但我希望它等于null,但它似乎将默认日期设置为1900 … 问题答案: 改成: 返回空字符串,但您希望改为null。 但是,这种构建查询的方式可能会导致问题。例如,如果您的字符串之一包含引号’,则结果查询将引发错误。更好的方法是使用参数并在SqlCommand对象上进行设置:

  • 我试图使用servlet将行插入到表中,当尝试使用语句(使用insertQuery1和insertQuery2)进行插入时,它执行良好,但当使用preparedstatment(使用insertPrepQuery)执行时,它抛出SQL语法错误。代码: 错误:

  • 问题内容: 我想每次插入带有日期+ 1的行。这是一个简单的SQL循环。我正在使用SSIS,因此StartDate和Enddate是变量。 这是我的代码: 错误信息: 消息156,级别15,状态1,行11关键字’select’附近的语法错误。 问题答案: 无需在声明。 代替 和