在MySQL中,如何获取存储过程的第一个输入参数的参数名称?

时间:2015-03-25 23:44:29

标签: java mysql database

目前,我调用存储过程并提供输入参数。存储过程具有以下代码,该代码调用存储过程并具有输入参数的(?)。

我通过以下方式提供输入参数:Callablestatement.setstring(“some_parameter_name”,“1234”)。问题是数据库没有识别参数名称,我得到一个空指针错误。但是,如果我使用索引号(例如1)来替换“some_parameter”名称,那么这将起作用。

理想情况下,我想知道它为什么不起作用,也许DBA没有给我正确的参数名称。在客户端有什么办法让我知道或弄清楚参数名称是什么?所以我可以根据名称而不是索引号提供输入参数?

由于

1 个答案:

答案 0 :(得分:0)

您可以实用地获取元数据 DatabaseMetaData meta = conn.getMetaData();

ResultSet rs = meta.getProcedureColumns(" dbname"," owner"," ProcedureName","%");

而(rs.next(){

rs.getString(4); //将返回参数名称

}