gpt4 book ai didi

java - ORA-00907缺少右括号错误+java

转载 作者:行者123 更新时间:2023-12-01 13:46:25 26 4
gpt4 key购买 nike

我在sql中有这个过程:

PROCEDURE classificacao(csr OUT SYS_REFCURSOR, campeonato number, ttime VARCHAR2) AS
sql_text VARCHAR2(600);
BEGIN
sql_text := 'SELECT ESTPRAT7.totaljogos('''||campeonato||''', '''||ttime||'''), ESTPRAT7.totalvitorias('''||campeonato||''', '''||ttime||'''), ESTPRAT7.totalempates('''||campeonato||''', '''||ttime||
'''), ESTPRAT7.totalderrotas('''||campeonato||''', '''||ttime||'''), ESTPRAT7.totalpontos('''||campeonato||''', '''||ttime||'''), ESTPRAT7.aproveitamento('''||campeonato||''', '''||ttime||''') FROM DUAL';
dbms_output.put_line(sql_text);
OPEN csr FOR sql_text;
END classificacao;

并且它执行正确。但是当我尝试在我的 JAVA 程序中执行时,不断引发此错误

这是java代码:

OracleCallableStatement pesquisa = 
(OracleCallableStatement) connection.prepareCall("{ call EstPrat7.classificacao( ?, "+n+", ? )}");
pesquisa.registerOutParameter(1, OracleTypes.CURSOR);
pesquisa.setString(2, time);
pesquisa.execute();

我错过了什么吗?

最佳答案

尝试打印整个 sql 调用。我在这里没有看到任何错误,这可能是意外格式/意外符号的错误参数。

尝试

 System.out.println(pesquisa );

如果这没有给你sql输出(如果我没记错的话,oracle驱动程序没有),你可以使用https://code.google.com/p/log4jdbc/查看sql输出(或查看oracle查询历史记录)。

关于java - ORA-00907缺少右括号错误+java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com