Oracle PreparedStatement nao faz scaping?

Oi pessoal

Estou aqui fazendo uns prepared statements no oracle, e ele parece nao fazer o scaping de apostrofo

tipo se eu dou um :

PreparedStatement ps = connection.prepareStatement("INSERT INTO BLAH BLAH WHERE BLAH = ?");
ps.setObject(1, "asdasasd' asdsadsd");

nao consigo executar isso! porque ele vai reclamar como se houvesse um fecha aspas simples na query. porem com o driver do mysql e do postgresql, eles mesmos fazem esse scaping. Quem esta certo nessa?

estou usando o classes12.jar
Estou usando o setObject. Nao usei setString, mas teoricamente o setObject deveria chamar o setString por milhares de instanceofs

outro detalhe
to usando CallableStatement, mas creio que deveria ter a mesma atitude.

Especificacao do jdbc:
http://java.sun.com/products/jdbc/download.html#corespec30

O capitulo 6 fala o q o driver tem q seguir
O capitulo 13 fala sobre os statements e como funciona os metodos set<Type>.
O apendice B, tabela 2 (b-2) mostra a tabela de conversao JavaType->JDBC e logo abaixo vem as tabelas de conversao setObject()… mas nada disso obriga o escape de quotes…

gui

Mas e o “setString” faz o scaping ou não?

nao eh obrigado naum

nao funciona nem com toString
estou EMBASBACADO. serio mesmo.

se isso nao eh padrao, pq o mysql e o postgre colocam? isso soh piora a situacao, pq no dia que eu trocar minha aplicacao de mysql pra oracle, ou vice versa, NAO vai funcionar

perdi o folego nessa, serio mesmo.

Eu usava muito prepared statement incluindo string com aspas simples e nunca tive nenhum problema a respeito.
Não sei dizer porque comigo funcionava e com você não funciona, mas posso dizer que “já vi funcionar”.
Acho que se você continuar procurando o problema acaba achando…

[quote=“Bani”]
Acho que se você continuar procurando o problema acaba achando…[/quote]

Achei.

Ele faz o auto scaping SIM. O problema eh que chamo uma stored procedure, essa procedure pega o elemento, e tenta inseri-lo com outro insert. Soh que ai, essa variavel que o PL/SQL tem, NAO esta escapada, logo, POFFF.

valeu pessoal!

qdo ele passa pra stored procedure, deveria ja estar parseado entaum, nao deveria?