并非所有变量都已绑定 什么原因(C#向ORACLE数据库BLOB字段存入图片时报 ORA-01008: 并非所有变量都已绑定)

本文目录
- C#向ORACLE数据库BLOB字段存入图片时报 ORA-01008: 并非所有变量都已绑定
- 在KETTLE执行一个JOB文件的时候,最后一个转换是UPDATE语句,提示错误--ora-01008:并非所有变量都已绑定
- labview共享变量写入失败
- 急急急!iReport 5.6版本提示 Check username and password; is the DBMS active错误
- SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误
- Oracle 并非所有变量都已绑定 问题
- Java preparestatement 报错 java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
- [Error Code: 1008, SQL State: 72000] ORA-01008: 并非所有变量都已绑定
C#向ORACLE数据库BLOB字段存入图片时报 ORA-01008: 并非所有变量都已绑定
代码:
OleDbCommand cmd = new OleDbCommand(cnnstr, con);
cmd.CommandType = CommandType.Text;
cmd.CommandText = cnnstr;
string imgPath = @"d:/image.jpg";
FileStream file = new FileStream(imgPath, FileMode.Open, FileAccess.Read);
Byte;
file.Read(imgByte, 0, imgByte.Length);
file.Close();
cmd.CommandText = " insert into imgtable(id,img ) values (’17’,:img) ";
cmd.Parameters.Add("img", System.Data.OleDb.OleDbType.Binary, imgByte.Length);
cmd.Parameters.Value = imgByte;
连接字符串:
strConn = "Provider=OraOLEDB.Oracle;pools=true;User ID=" + uName + ";Data Source=" + linkStr + ";Password=" + uPwd + ";";
并非:Provider=MSDAORA
在KETTLE执行一个JOB文件的时候,最后一个转换是UPDATE语句,提示错误--ora-01008:并非所有变量都已绑定
这个问题定位在执行上面这个sql语句出错,报的是数据库错误,你把变量换成常量,试试sql有没有问题,如果还有问题就定位一下转过来的变量的值没有问题。
labview共享变量写入失败
labview共享变量写入失败原因如下:
1、最近做OPC通信,在用NIOPC和三菱OPC通信时,有时会发生写变量失败的问题,控件绑定共享变量。
2、上位机通过绑定共享变量的方式读写OPC变量,将程序移植到另一台电脑后,经常会有读写共享变量错误。
急急急!iReport 5.6版本提示 Check username and password; is the DBMS active错误
很久不用ireport了,做报表习惯性用FineReport,在FineReport帮助文档里面查了一下此问题的解决方案,共借鉴:
1. 对于抛错ORA-00942,表或视图不存在或者找不到数据连接:***ull
1.1 解决方案
要先确认数据库里表或字段是否存在,或者是否拼写正确。
当初创建时是以什么用户创建的,现在的连接用户是否有权限查询该表。用建表的用户连接后再查询看看。
2. 对于抛错ORA-00904,标识符无效
2.1 解决方案
需要确定数据库里对应字段类型是否匹配。
字段、表达式的别名在where子句和group by子句都是不能使用的。
3. 对于抛错ORA-01008: 并非所有变量都已绑定
需要结合看一下具体的存储过程是怎么写的,然后在6.5中调用看看。
3.1 解决方案
6.1升级到6.5,存储过程写法需要变一下,原写法如:call username.procname(?,’’)}即可。
改成这种写法后,如果仍然不成功,报ORA-06550的错误。
原因是:ORACLE里面的存储过程,识别包体名,而不是用户名。直接拖得话,默认是用户名,要自己写包名才行。
4. 对于抛错ORA—00936:missing expression
4.1 解决方案
sql里的参数写法问题,and ()即可。
5. 对于抛错ORA-01401: 插入的值对于列过大
5.1 原因
数据库的字段nvarchar2(2000),只能存储1000的汉字,当插入2000的汉字的时候就会报错。
5.2 解决方案
把nvarchar2(2000)改成nvarchar2(4000)就可以存下你的2000个汉字了。但是有一点,nvarchar2最大也只能够放到4000宽度了。如果还需要存更多的汉字,字段类型就得用Clob类型了。
6. 对于报错ORA-01830: 日期格式图片在转换整个输入字符串之前结束
6.1 原因
在对字符串型数据转化成日期型数据时,字符串的长度大于格式化的长度,如test数据库中的一个数据列notice_date存的数据为:2011/08/12 08:49:23,将其转化为yyyy-mm-dd格式的数据时,如sql语句为:select todate(notice_date,’yyyy-mm-dd’) from test就会报错。
6.2 解决方案
使用substr函数将字符串的位数截取的和转换的日期函数相同,如上面的sql语句就改为:select todate(substr(notice_date,1,10,’yyyy-mm-dd’) )from test即可。
7. 对于报错:The Network Adapter could not establish the connection
7.1 解决方案
数据库里系统日志满了,删除后重新启动OracleOraDb10g_home1TNSListener服务后就ull能连接成功了。
SQL参数异常或者SQL语句语法错误,并非所有变量都已绑定 执行错误
里面有二个变量
ai.rec_staus= ?
TO_DATE(?,
你调用时,要将实际值传进去,才行。
Oracle 并非所有变量都已绑定 问题
这个是Oracle使用了绑定变量的原因,如果你想知道具体的绑定变量的值,可以根据SQL_ID查询视图:
v$sql_bind_capture
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其实已经没用了已经执行了明白了吧。
有问题请追问。
[Error Code: 1008, SQL State: 72000] ORA-01008: 并非所有变量都已绑定
看where子句。
where 1=1 and tharvestad0_.MODE_ID=?
这个问号处,有问题吧。

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30





