欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oraclerowid在url传参中报无效的rowid的错误解决方法

程序员文章站 2022-06-16 15:06:10
在业务中的某个页面,点击链接时发生了rowid无效的错误,我用2个sql去查找问题的时候,发现不是sql的问题,但是既然是rowid无效,肯定是rowid的问题,仔细研究发现rowid中存在着特殊...

在业务中的某个页面,点击链接时发生了rowid无效的错误,我用2个sql去查找问题的时候,发现不是sql的问题,但是既然是rowid无效,肯定是rowid的问题,仔细研究发现rowid中存在着特殊字符。在该博客中了解一下oracle中的rowid。发现在oracle 8i之后rowid是由a-z,a-z,+,\这些字符组成的,而我查出来的rowid中正好存在着‘+’字符,‘+’字符在url传参的过程中会自动转换成空格,导致传回去的rowid中的加号变成了空格,所以导致了这个问题。那么如何解决这个问题呐?现提供两种解决方案?1.在url中的rowid这个参数使用encode函数进行编码,java或javascript的编码函数都可以,传到后台的时候一定不要用decode解码,因为在传参的时候自动解码了一次,如果再使用decode解码,一样会无法解决这个问题。

2.在后台将rowid的参数中的空格全部替换成+,这样两次一去一回的rowid就是一样的啦。