并非所有变量都已绑定(并非所有变量都已绑定 什么原因)

http://www.itjxue.com  2023-02-09 21:08  来源:未知  点击次数: 

在KETTLE执行一个JOB文件的时候,最后一个转换是UPDATE语句,提示错误--ora-01008:并非所有变量都已绑定

这个问题定位在执行上面这个sql语句出错,报的是数据库错误,你把变量换成常量,试试sql有没有问题,如果还有问题就定位一下转过来的变量的值没有问题。

怎么解决ORA-01008:并非所有变量都已绑定

参数位的设定值不对。

sSQL = "insert into psymmetrical"

+ "(puid,frockpuid,frockid,frockname,symmetricalid,symmetricalfrockid,symmetricalfrockname," +

"symmetricaldate,temp1,temp2,temp3,temp4,temp5,createUser,createUserID)"

+ " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

stmt = conn.prepareStatement(sSQL);

stmt.setString(1,SyObject.puid);

stmt.setString(1,SyObject.frockpuid); // 这里参数位

stmt.setString(1,SyObject.frockId); //还有这里参数位

stmt.setString(4,SyObject.frockName);

stmt.setString(5,SyObject.symmetricalId);

stmt.setString(6,SyObject.symmetricalFrockId);

stmt.setString(7,SyObject.symmetricalFrockName);

stmt.setString(8,SyObject.symmetricalDate);

stmt.setString(9,SyObject.temp1);

stmt.setString(10,SyObject.temp2);

stmt.setString(11,SyObject.temp3);

stmt.setString(12,SyObject.temp4);

stmt.setString(13,SyObject.temp5);

stmt.setString(14,SyObject.createUser);

stmt.setString(15,SyObject.createUserID);

stmt.executeQuery();

并非所有变量都已绑定

就是有的参数,没有设定值(你的SQL语句中的参数和传递的值不对应)

希望对你能有所帮助。

求已SQL语句报错的问题,报什么并非所有的变量都已绑定,代码在补充中:

报的错误是not all variables bound(并非所有的变量都已绑定)对吧?语句错误的来源是

'BEGIN SELECT count(carinfoid) INTO :1 FROM test ; END

这句话是作为一个语句来单独执行的,是脱离你这个过程,自己去执行的,把他单拿出来执行就会报这个错误。

如果你不动态执行它,应该就没问题了。而且INTO :1是什么?

Java preparestatement 报错 java.sql.SQLException: ORA-01008: 并非所有变量都已绑定

//PreparedStatement?不是你这样用的改成这样

PreparedStatement?ps=?con.prepareStatement("UPDATE?CUSTOMER?SET?MONEY?=?MONEY-??WHERE?ID?=??");

ps.setDouble(1,?money);

ps.setInt(2,?id2);

ps.executeUpdate();

像你这样ps.execute("UPDATE CUSTOMER SET MONEY = MONEY-? WHERE ID = ?");这个sql就直接执行了。所有?的值还没绑定,后面的ps.set其实已经没用了已经执行了明白了吧。

有问题请追问。

SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误

里面有二个变量

ai.rec_staus= ?

TO_DATE(?,

你调用时,要将实际值传进去,才行。

(责任编辑:IT教学网)

更多