Oracle Error Workaround
在实际项目中使用ORACLE时出现的一些问题,通过变通的方案将问题避免了,特撰此文,以备忘用!1.ORA-01403:NO DATA FOUND-未找到
在实际项目中使用Oracle时出现的一些问题,通过变通的方案将问题避免了,特撰此文,,以备忘用!
1.ORA-01403:NO DATA FOUND-未找到数据
a.加一个exception异常处理
EXCEPTION WHEN NO_DATA_FOUND THEN ...
b.先用count计算一下是否大于0,即是否有值,这样就算没有值也会返回0,而不是NULL
SELECT COUNT(*) INTO FIELD FROM TABLE WHERE ...
2.ORA-01704:STRING LITERAL TOO LONG-文字字符串过长
直接用类似INSERT INTO TABLE (ID,CONTEXT) VALUES('1','...')语句向ORACLE插入长字节的字段CONTEXT时会出现此错误信息
a.在程序中可以利用参数来实现
C#代码
1 OracleConnection ocon = new OracleConnection();
2 OracleCommand ocom = new OracleCommand(sql, ocon);
3 ocom.Connection.Open();
4 ocom.Parameters.Add(":Value", OracleType.Blob);
5 ocom.Parameters[":Value"].Value = longvalue;
6 ocom.ExecuteNonQuery();
b.利用存储过程来实现相对比较简单,只要将参数传入即可
DECLARE
v_context CLOB :='long context';
BEGIN
INSERT INTO TABLE (ID,CONTEXT) VALUES ('1',:v_context);
END;
上一篇: OLTP应用之MySQL架构选型
下一篇: 机房收费系统之结账
推荐阅读
-
Python3与SQLServer、Oracle、MySql的连接方法
-
Linux使用vim编辑文件保存时报E514:write error (file system full?)问题解决
-
oracle的decode()含义及使用介绍
-
PL/SQL Oracle客户端出现中文乱码问题解决办法
-
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using passwor
-
oracle如何实现全角和半角的切换?
-
联想thinkpadt410 开机失败报错fan error怎么办?
-
oracle入门操作学习
-
oracle数据库不需要安装客户端就能通过vs链接数据库的方法
-
oracle层次查询,oracle 9i利用SQL演示脚本判断是叶子或根节点