Query em arq.xml

Bom dia, tudo bom?

Eu tenho um xml que contém a seguinte query:

<sql>
<select>SELECT id, nome, fone from cliente
where nome like upper(% ? %)
</select>
</sql>

neste caso, eu quero fazer uma consulta onde digito apenas
parte do nome do cliente (ex.: Silva).

Acontece que retorna uma Exception:
ORA-00911: invalid character

Como vcs podem ver, estou usando oracle.
Se eu tirar o caracter %
daí funciona, mas eu preciso desta maneira…
tem algum jeito de se fazer isso???

Estou utilizando PreparedStatement.

obrigado,

Abraço

Adiciona o caracter % na sua própria string que vc envia para consulta

Legal… agora sim deu certo…

valew

abraço

[quote=“tads”]Bom dia, tudo bom?

Eu tenho um xml que contém a seguinte query:

<sql>
<select>SELECT id, nome, fone from cliente
where nome like upper(% ? %)
</select>
</sql>

neste caso, eu quero fazer uma consulta onde digito apenas
parte do nome do cliente (ex.: Silva).

Acontece que retorna uma Exception:
ORA-00911: invalid character

Como vcs podem ver, estou usando oracle.
Se eu tirar o caracter %
daí funciona, mas eu preciso desta maneira…
tem algum jeito de se fazer isso???

Estou utilizando PreparedStatement.

obrigado,

Abraço[/quote]

Vc também poderia usar um scape do XML. Exemplo:

scape no xml para & (E comercial) = &#38;
scape no xml para à (E comercial) = &#133;

formula para scape: &# + codigo ASCII do caracter

Isso evitaria que sua string fosse enviada com %MinhaString%…

Valeu?

Eu tentei executar depois de colocar estes scapes no xml, mas
qdo vou abrir o xml, ele dá o seguinte erro:

SAXParseException

Illegal decimal character reference.

Parece que não está aceitando…

falow,

abraço,

valew pela atenção

[quote=“tads”]Eu tentei executar depois de colocar estes scapes no xml, mas
qdo vou abrir o xml, ele dá o seguinte erro:

SAXParseException

Illegal decimal character reference.

Parece que não está aceitando…

falow,

abraço,

valew pela atenção[/quote]

Vc fez deste modo?
<sql>
<select>SELECT id, nome, fone from cliente
where nome like upper(&#37 ? &#37)
</select>

</sql>

Então carinha,

eu fiz exatamente deste jeito:

&#37 ? &#37

mas deu o erro que ti falei anteriormente…

valew,

[]

OPs. saiu errado na exibição…

Eu coloquei da mesma forma que vc no xml.

<?xml version=“1.0” encoding=“UTF-8”?>

<sql>
<select>SELECT seila
FROM tabela
<whereNome>
WHERE nome LIKE UPPER(&#37 ? &#37)
</whereNome>
</select>
</sql>

O que será que acontece???