java-用Java调用oracle的问题

问题描述

用Java调用oracle的问题

String sql="update emp set ?=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setString(1,oldInfo);
ps.setInt(2, infoInt);
ps.setInt(3,empId);
count=ps.executeUpdate();
}
String sql="update emp set ?=? where empno=? ";错误在这一句
java.sql.SQLSyntaxErrorException: ORA-01747: user.table.column, table.column 或列说明无效

解决方案

 String sql="update emp set ?=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setString(1,oldInfo);
ps.setInt(2, infoInt);
ps.setInt(3,empId);
count=ps.executeUpdate();
}
字段不能通过参数方式,改成
String sql="update emp set "+oldInfo + "=? where empno=? ";
try
{
ps=conn.prepareStatement(sql);
ps.setInt(1, infoInt);
ps.setInt(2,empId);
count=ps.executeUpdate();
}

解决方案二:

oracle调用Java 权限问题
Oracle 调用java 初始(一)
java 调用用java写的oracle存储过程的相关问题

解决方案三:

String sql="update emp set ?=? where empno=? ",第一个?应该是个字段名吧

解决方案四:

String sql="update emp set ?=? where empno=? ";错误在这一句

准确的说在set ?=?

尽管下面有这句话:ps.setString(1,oldInfo); 但实际上结果为:set 'oldInfo' = 12; 很显然生成的sql不正确。

时间: 2024-10-30 05:45:12

java-用Java调用oracle的问题的相关文章

Java中CallableStatement调用Oracle存储过程总结

一.无返回值的存储过程调用 CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)   AS      BEGIN          INSERT INTO DBO.EMP (ID,NAME) VALUES (PARA1, PARA2);   END PRO_1; import java.sql.*; import java.sql.ResultSet; public class CallProcedureTe

weblogic连接池-Java调用Oracle存储过程传入数组参数报错

问题描述 Java调用Oracle存储过程传入数组参数报错 weblogic连接池 JNDI提供的链接保存 Oracle数组 报错 oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection 大家好,我在用weblogic连接池 JNDI

使用Java调用Oracle数据库的存储过程实例

使用Java调用Oracle数据库的存储过程实例时间:2009-08-19 18:02:43来源:网络 作者:未知 点击:984次 一:无返回值的存储过程1.建立存储过程CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGININSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA; 2.相应的JAVA程序impo一:无返回值

java存储过程-java调用oracle存储过程到execute()就卡住了?

问题描述 java调用oracle存储过程到execute()就卡住了? debug看了一下就是走到execute()这就卡住了,是偶尔才发生这样的状况,一般这样的情况等待10分钟左右就没有问题了,在execute()这就不会卡住了,很快就执行过去. 我感觉是系统中有很多用户都在做各种不同的操作占用了oracle的什么资源(我们这个系统中有不少操作都是用存储过程实现的),导致执行存储过程时,一直再等待这个资源,希望有大神能告诉我是什么原因导致的?谢谢 解决方案 java调用oracle存储过程用

java代码调用oracle存储过程

原文:java代码调用oracle存储过程 一.简介 与调用mysql存储过程类型过程都是如下 1.创建连接 Connection conn = DriverManager.getConnection(url, user, password); 2.创建CallableStatement CallableStatement statement = conn.prepareCall(sql); 3.设置参数 statement.setInt(1, id); statement.registerOu

java基础---->java调用oracle存储过程(转)

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程.   java中调用oracle的存储过程 项目结构如下: 一. 在数据库创建存储过程的脚本,如果使用的是本地的oracle数据库,则需要开启服务:OracleOraDb11g_home1TNSListener和OracleServiceORCL

求教大神,java调用oracle把数据库记录下载到本地的工程

问题描述 求教大神,java调用oracle把数据库记录下载到本地的工程 如上图,已经用java调用dos命令行进入sql界面,现在如何编写java代码来执行以下:sset linesize 999 set pagesize 999 spool XX_EVA_RAROC_PKG.sql select text from all_source where name='XX_EVA_RAROC_PKG' order by line; spool off; 用java直接连数据库是否也可行,求教大神提

Oracle 有导出 CSV 文件的功能,java可以调用Oracle的这个功能吗?

问题描述 大家好,请问Oracle有导出CSV文件的功能,java可以调用Oracle的这个功能吗?如果有如何做?谢谢您的回答,(俺是萝卜) 解决方案 解决方案二:应该要自己写方法的吧,再导出为csv文件.我猜的.呵呵解决方案三:不知道是不是能调用但是我觉得有调用它的那个工夫,自己都写了一个导出CSV的模块了

java频繁连接、调用oracle数据库的某存储过程,且存储过程返回游标在JAVA中遍历,使用什么连接,或什么方式效率比较好??

问题描述 java频繁连接.调用oracle数据库的某存储过程,且存储过程返回游标在JAVA中遍历,使用什么连接,或什么方式效率比较好??

java 实现 导入上百万行 txt 文本文件到oracel 调用 oracle的 sqlldr

问题描述 现在有个项目,想实现java实现的txt导入到oracle并且是采用oracle自带的sqlldr工具有没有有那个兄弟有比较成熟的代码块谢谢了 解决方案 本帖最后由 continuefly 于 2010-11-18 09:00:09 编辑解决方案二:首先编写java的调用sh的代码,然后这个sh的内容为:su-oracle-c"sqlldruserid=8888/8888@//192.168.1.11:1521/8888control=/var/tmp/20100927_ctl.ctl