- 浏览: 30265 次
- 性别:
- 来自: 杭州
文章分类
最新评论
第一次用jdbc调用mysql存储过程的过程中犯了一个严重的错误:(对本人来说)
代码如下:
PreparedStatement call = con.prepareCall("{proc_card_vouc(?,?,?,?)}");
启动应用程序时,控制台报出:
java.sql.SQLException: Unable to retrieve metadata for procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.extractProcedureName(CallableStatement.java:868)
at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:699)
at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:513)
at com.mysql.jdbc.Connection.parseCallableStatement(Connection.java:4583)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4657)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4631)
at com.sunyard.dao.AccountDAOImpl.account(AccountDAOImpl.java:34)
at com.sunyard.dao.AccountDAOImpl.main(AccountDAOImpl.java:87)
当时一下在懵了,去网上百度下,始终没发现问题。后来实在无奈,是查看了com.mysql.jdbc.CallableStatement.extractProcedureName这个方法,发现里面一段代码:int endCallIndex = StringUtils.indexOfIgnoreCase(sanitizedSql,"CALL "); 原来自己传入的参数少一个 call,真是太不小心了。
结论:查看源代码有时候还是很有作用的 ,以后要好好养成习惯
代码如下:
PreparedStatement call = con.prepareCall("{proc_card_vouc(?,?,?,?)}");
启动应用程序时,控制台报出:
java.sql.SQLException: Unable to retrieve metadata for procedure.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.CallableStatement.extractProcedureName(CallableStatement.java:868)
at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:699)
at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:513)
at com.mysql.jdbc.Connection.parseCallableStatement(Connection.java:4583)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4657)
at com.mysql.jdbc.Connection.prepareCall(Connection.java:4631)
at com.sunyard.dao.AccountDAOImpl.account(AccountDAOImpl.java:34)
at com.sunyard.dao.AccountDAOImpl.main(AccountDAOImpl.java:87)
当时一下在懵了,去网上百度下,始终没发现问题。后来实在无奈,是查看了com.mysql.jdbc.CallableStatement.extractProcedureName这个方法,发现里面一段代码:int endCallIndex = StringUtils.indexOfIgnoreCase(sanitizedSql,"CALL "); 原来自己传入的参数少一个 call,真是太不小心了。
结论:查看源代码有时候还是很有作用的 ,以后要好好养成习惯
发表评论
-
aaaaaaaaaaaa
2014-08-30 09:01 0111111111111111 -
struts2与checkbox的关系
2014-03-25 15:35 624Struts2 框架对checkbox的处理 1、 对于htm ... -
doc命令之关机管理
2014-03-21 09:26 686@echo off set /p p=是否关机(1:关机 2: ... -
金字塔最短路径
2014-03-18 10:02 576class Triangle { private int[] ... -
汉诺塔递归算法
2014-03-15 10:49 582class Hanio { private int st ... -
回溯算法之八皇后
2014-03-13 13:27 608public class EightQueens { ... -
xml的基本学习
2014-03-04 15:17 8771、 XML的概念 允许开发 ... -
软件生命三大测试的概念和区别
2014-02-17 22:01 0根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和 ... -
Session处理同账号管理
2013-10-22 17:19 773首先使用HttpSessionAttributeListene ... -
线程概念
2013-03-20 21:06 0线程对可共享的、可改变的状态变量进行访问,需要实现协同,否则数 ... -
KMP算法
2013-03-20 14:10 920package zl.character.compare; ... -
parseInt惹的祸
2013-03-04 17:57 812今天项目在实施的过程中,出现了让我懊恼的事情: 卡的金额读不出 ... -
JDK动态代理和CGLIB动态代理的学习
2012-10-08 17:25 0JDK动态代理是基于java.lang.reflect.Pro ... -
log4j输出spring框架的信息
2012-10-08 17:00 0log4j.logger.org.springframewor ... -
ReadWriteLock多线程下操作
2012-09-06 17:45 999ReadWriteLock是实现多线程环境下同步的一种方式。与 ... -
WIN7 BCompare 启动应用程序发生错误
2012-08-24 11:26 1122WIN7下寻找: 把C:\用户\[用户名]\AppData\S ... -
ant
2012-08-24 11:15 0当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设 ... -
spring框架后处理器的学习
2012-07-27 09:22 730spring框架对容器管理bean和容器本身提供了额外增强功能 ... -
socket简单通讯
2012-07-26 17:09 801package zl.socket.server; impo ... -
java命令执行class文件
2012-07-26 14:30 705eclipse编译出来的class文件如果带有包结构,请在命令 ...
相关推荐
日常检查服务的时候,从portainer那里进去看容器日志的时候,发现右上角出现红色的感叹号:Unable to retrieve container logs。 因为之前没出现过这样的问题,所以就先上服务器上用命令docker logs -f containerID...
使用PL/SQL登录ORACLE数据 报错,error while trying to retrieve text for error ORA-01804,的解决方法,操作步骤,在windows server 2008R2 64位,oracle 12C,PLSQL Developer 12 64位,以上使用环境正常,
for (var i = 0; i ; i++) { if (childS[i].nodeType == 1) anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText; else if (childS[i].nodeType == 3) anyString += childS[i].nodeValue; }...
CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.-附件资源
Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群,这篇文章主要介绍了使用portainer连接远程docker的方法,需要的朋友可以参考下
解决docker报错Cannot connect to the Docker daemon at unix
drop procedure sp_addextendedproc drop procedure sp_oacreate exec sp_dropextendedproc 'xp_cmdshell' ``` 然后进行恢复操作: ```sql dbcc addextendedproc("sp_oacreate", "odsole70.dll") dbcc ...
1. 加载驱动:通过`Class.forName("com.dameng.jdbc.DmDriver")`加载DmJdbcDriver18。 2. 创建连接:使用`java.sql.DriverManager.getConnection()`方法,传入数据库URL、用户名和密码建立连接。 3. 执行SQL:通过`...
Retrieve Form for Data Capture (RFD)
X-PortainerAgent-Manager:1, X-PortainerAgentNumber:blog.itspring.cn
This module demostrates how to retrieve information about a joystick. This is a great module for game programmers.
标题为“an introduction to information retrieve”的文档,实际上是指《信息检索导论》这本书的介绍。该书由斯坦福大学出版,作者包括 Christopher D. Manning、Prabhakar Raghavan 和 Hinrich Schütze。根据描述...
根据提供的文件信息,我们可以归纳出一系列与Cloudera 4.x培训相关的知识点。这些知识点将围绕着Apache Hadoop集群的规划、安装、配置、安全、维护、监控以及故障排除等方面展开。 ### Cloudera 4.x 培训学生指南 ...
解决Oracle11g,PL/SQL连接报错问题 解压 解压instantclient-basic-nt-11.2.0.2.0.zip,例如到D:\instantclient_11_2 3、设置PLSQL Developer 启动PLSQL Developer,不登录点取消进入PLSQL Developer,Tools->>...
We propose a novel Knowledge-driven Encode, Retrieve, Paraphrase (KERP) approach which reconciles traditional knowledge- and retrieval-based methods with modern learning-based methods for accurate ...
在Linux环境中,对磁盘进行扩容时可能会遇到各种问题,其中一种常见的错误是"Bad magic number in super-block while trying to open"。这个错误通常发生在尝试使用`resize2fs`命令扩展文件系统时,表明系统无法识别...
PLSQL连接远程数据库问题 无法连接报错
protobuf全称是Protocol Buffers,是由Google开发的一种数据序列化协议,它允许开发者定义数据结构,然后将数据编码为二进制格式,用于存储或网络传输。标题中的"google protobuf-3.2.0"指的是protobuf的3.2.0版本,...
语言:English 只需单击一下,即可从您的Salesforce Org中检索最常用的元数据/数据! 我们经常遇到需要在Salesforce中获取任何自定义标签(现在支持其他元数据类型以及验证规则,工作流规则,配置文件,权限集,电子...