oracle 如何将参数传递给IN运算符?

llmtgqce  于 2022-12-11  发布在  Oracle
关注(0)|答案(1)|浏览(183)

I'm Trying, pass a long array for a named query (native SQL) for to use in an IN STATEMENT: Like this:
(...) WHERE Identificator IN (:pIdes)
I tried pass my ides as long[]:

ctx.GetNamedQuery("NamedQueryName")                                          
                   .SetParameter<long[]>("pIdes", Identificators)
                   .List<EmpreendimentoInputReport>();

and as a string

ctx.GetNamedQuery("NamedQueryName")                                          
                   .SetParameter<string>("pIdes", Identificators)
                   .List<EmpreendimentoInputReport>();

When the parameter is a string return nothing, whem is a long[] return this Oracle error:
"Oracle.DataAccess.Client.OracleException: ORA-00932: tipos de dados inconsistentes: esperava NUMBER obteve BINARY"

t3irkdon

t3irkdon1#

使用SetParameterList而不是SetParameter

相关问题