oracle中的特殊字符处理问题????????

guying1028 2008-05-15 03:18:09
oracle中的特殊字符处理问题:在insert操作时候里面有一个字段有‘{’和‘}’,怎么处理??????????????????
...全文
742 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xudaqing2008 2008-05-16
  • 打赏
  • 举报
回复
楼主还是把问题说明白得好,我还以为你说用pl/sql实现有问题呢
doer_ljy 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xudaqing2008 的回复:]
{}不需要转义,就跟其他字符一样插入就行了
CREATE TABLE EMP
(
ID VARCHAR2(10) NOT NULL,
NAME VARCHAR2(20),
DEPT_ID VARCHAR2(10),
SALARY NUMBER
)

insert into emp values('0011','{A11}','5K',1000);

-----------------------------------------------
ID NAME DEPT_ID…
[/Quote]
我猜lZ是在cursor中使用了动态SQL
guying1028 2008-05-15
  • 打赏
  • 举报
回复
java.sql.SQLException: ORA-01465: 无效的十六进制数字

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at com.telink.sps.app.test.phonelist.dao.SavePhoneMapDao.savePhoneMap(SavePhoneMapDao.java:43)
at com.telink.sps.app.test.phonelist.biz.SavePhoneMapBiz.savePhoneMap(SavePhoneMapBiz.java:42)
at com.telink.sps.app.test.phonelist.cmd.SavePhoneMapCmd.savePhoneMap(SavePhoneMapCmd.java:19)
at org.apache.jsp.sps_005ftest_005flist_jsp._jspService(sps_005ftest_005flist_jsp.java:62)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
java.sql.SQLException: ORA-01006: 赋值变量不存在

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:572)
at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
at com.telink.sps.app.test.phonelist.dao.SavePhoneMapDao.savePhoneMap(SavePhoneMapDao.java:50)
at com.telink.sps.app.test.phonelist.biz.SavePhoneMapBiz.savePhoneMap(SavePhoneMapBiz.java:42)
at com.telink.sps.app.test.phonelist.cmd.SavePhoneMapCmd.savePhoneMap(SavePhoneMapCmd.java:19)
at org.apache.jsp.sps_005ftest_005flist_jsp._jspService(sps_005ftest_005flist_jsp.java:62)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
大家好,这是我的程序包的错,我是想往数据库中保存一个blob格式的数据,我要插入的是一个Map类型,给转化成了String,就一直出这个错,请大家帮忙?
xudaqing2008 2008-05-15
  • 打赏
  • 举报
回复
{}不需要转义,就跟其他字符一样插入就行了
CREATE TABLE EMP
(
ID VARCHAR2(10) NOT NULL,
NAME VARCHAR2(20),
DEPT_ID VARCHAR2(10),
SALARY NUMBER
)

insert into emp values('0011','{A11}','5K',1000);

-----------------------------------------------
ID NAME DEPT_ID SALARY
0011 {A11} 5K 1000
robin_ares 2008-05-15
  • 打赏
  • 举报
回复
update a set a.col1='''{’和‘}'''
ehuman 2008-05-15
  • 打赏
  • 举报
回复
{和}
这字符也需要转义?
hebin819 2008-05-15
  • 打赏
  • 举报
回复
insert into tablename (ids,address)values(60001,'{a}');
doer_ljy 2008-05-15
  • 打赏
  • 举报
回复
转意呗 用''{'替换'{'

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧