从Microsoft ODBC驱动程序迁移到Oracle ODBC驱动程序的问题
当我使用MicrosoftODBC驱动程序时,我能够通过将以下字符串分配给ODBC命令来执行Oracle存储过程:-从Microsoft ODBC驱动程序迁移到Oracle ODBC驱动程序的问题,oracle,odbc,resultset,Oracle,Odbc,Resultset,当我使用MicrosoftODBC驱动程序时,我能够通过将以下字符串分配给ODBC命令来执行Oracle存储过程:- {call package1.procedure1({resultset 10,p_output_param1,p_output_param2,p_output_param3})} 现在,在64位机器中更改为Oracle ODBC驱动程序后,它抛出了一个“标识符”p_output_param1“必须声明”的错误。我不确定我错过了什么。任何人都可以澄清是否需要更改语法吗?我认为正
{call package1.procedure1({resultset 10,p_output_param1,p_output_param2,p_output_param3})}
现在,在64位机器中更改为Oracle ODBC驱动程序后,它抛出了一个“标识符”p_output_param1“必须声明”的错误。我不确定我错过了什么。任何人都可以澄清是否需要更改语法吗?我认为正确的ODBC语法是: {调用包过程(10、、、?)}
假设10是您要传递给第一个过程参数的值,并且该过程还有3个其他参数。我认为您需要将命名参数替换为“?”占位符。我更改为以下调用:-
{call package1.procedure1({resultset 10,,?,?})
,但这再次导致了异常System.Data.dll中出现System.Data.Odbc.OdbcException的第一次异常。另外,这3个参数(p_output_param1、p_output_param2、p_output_param3)是我存储过程中的输出参数。@OldProgrammer:我更改为调用:-{call package1.procedure1({resultset 10、,,,,?}),但这再次导致了异常System.Data.Odbc.OdbcException的首次意外异常发生在System.Data.dll中。您能否分享如何按照下面链接中所述的方式使用我们正在使用的结果集:-在该调用中看到的第一个参数不是输入参数。它是下面链接中指定的结果集:-