Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在一行中将参数传递给JDBC存储过程?_Sql_Sql Server_Stored Procedures_Jdbc_Execute - Fatal编程技术网

Sql 如何在一行中将参数传递给JDBC存储过程?

Sql 如何在一行中将参数传递给JDBC存储过程?,sql,sql-server,stored-procedures,jdbc,execute,Sql,Sql Server,Stored Procedures,Jdbc,Execute,希望有人能帮忙。我们正在使用一个监控应用程序,它通过JDBC连接到DBs。在本例中,我们使用sqljdbc4.jar连接到MSSQL数据库 我们需要执行一个存储过程并将两个参数传递给它,但我正在努力弄清楚如何准确地做到这一点。如果有意义的话,我们使用的软件只允许将一行代码传递给JDBC查询 我尝试了以下方法: {call procedure('my parameter 1','my parameter 2')} {[?=]call procedure-name[([parameter][,[p

希望有人能帮忙。我们正在使用一个监控应用程序,它通过JDBC连接到DBs。在本例中,我们使用sqljdbc4.jar连接到MSSQL数据库

我们需要执行一个存储过程并将两个参数传递给它,但我正在努力弄清楚如何准确地做到这一点。如果有意义的话,我们使用的软件只允许将一行代码传递给JDBC查询

我尝试了以下方法:

{call procedure('my parameter 1','my parameter 2')}
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
但这不起作用。从我能在谷歌上搜索到的信息来看,我通常需要使用:

{call procedure-name(?,?)}
从这里开始,需要对参数1和参数2进行排序声明,然后将准备好的查询传递给DB。不幸的是,在我的情况下,这不是一个选择

再次转向谷歌,MS Technet具体说明如下:

{call procedure('my parameter 1','my parameter 2')}
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
我还没有试过这个,但如果我读对了,这可能有效吗

{?='my parameter 1',?='my parameter 2' call procedure(?,?)}

我知道我应该在用尽所有的选择后才去问,但我希望有人以前遇到过这个问题并设法解决它。如果有人知道上述方法是否有效,或者其他方法是否有效,我将非常感谢您的输入。

格式
{[?=]调用过程名[([parameter][,[parameter]]…])}
并不是您认为的意思。
[?=]
表示:可选:
?=
用于返回值。注意:更新您的问题非常重要,至少包括1)存储过程的头(但最好是整个过程),2)用于设置和执行此过程的Java代码,以及3)收到的异常消息。您好,马克,谢谢您的反馈。不幸的是,我们使用的软件包不允许使用Java代码(除非启动Java脚本)。我也没有头或者对存储过程的任何访问权限,除了能够使用分配给我们的DB用户运行存储过程之外。我想,为了解决这个问题,我将用我所知道的编写一个Python脚本来实现这一点。我觉得奇怪的是,在执行存储过程时,参数不能直接传递给查询。