Se o teu problema no Oracle é com Strings gigantescas e campos VARCHAR2 limitados a X caracteres, veja se trocar essas coisas por CLOB resolve.
Inté.
silvars
Então… Ignorem o BANCO, independente de ORACLE, SQL SERVER, POSTGRE ou qualquer outro a aplicação hoje funciona utilizando persistência (HIBERNATE), logo, não há problemas com o banco, tamanho do campo ou até mesmo com tipo do campo.
O problema é que hoje eu preciso fazer a GRAVAÇÃO com JDBC e o método setString no ORACLE me retorna que a STRING é muito grande. (problemas na implementação do DRIVER)
Quando resolvi o problema no ORACLE utilizando o setUnicodeStream vi que o driver do SQL não implementa esse método, porém, o setString no SQL dá certo pq a implementação com certeza é mto diferente do driver do ORACLE.
Minha dúvida é; Alguém sabe um método, ou já utilizou algum que funcione utilizando um tamanho ABSURDo de String em qualquer um desses bancos com qualquer um desses drivers!?
Abç~s
KWill
silvars:
Então… Ignorem o BANCO, independente de ORACLE, SQL SERVER, POSTGRE ou qualquer outro a aplicação hoje funciona utilizando persistência (HIBERNATE), logo, não há problemas com o banco, tamanho do campo ou até mesmo com tipo do campo.
O problema é que hoje eu preciso fazer a GRAVAÇÃO com JDBC e o método setString no ORACLE me retorna que a STRING é muito grande. (problemas na implementação do DRIVER)
Quando resolvi o problema no ORACLE utilizando o setUnicodeStream vi que o driver do SQL não implementa esse método, porém, o setString no SQL dá certo pq a implementação com certeza é mto diferente do driver do ORACLE.
Minha dúvida é; Alguém sabe um método, ou já utilizou algum que funcione utilizando um tamanho ABSURDo de String em qualquer um desses bancos com qualquer um desses drivers!?
Abç~s
Ok, ok, independente de qual banco você está utilizando, no seu lugar eu iria trocar essa coluna aí que você tenta manipular via “setString” por uma coluna do tipo CLOB e passaria a manipulá-la via “setClob”, se o caso for de ser necessário usar Strings de tamanho absurdo.
Inté.
silvars
Sim KWill
Tentarei usando CLOB ou BLOB, o tipo do meu campo é: LONG e rola legal…
Não preciso que seja CLOB cara…
Estranho é que usando o HIBERNATE ele rola, já estou tentando achar no DRIVER do Hibernate o que ele faz com esse tipo, mas não estou achando!
Abçs
KWill
silvars:
Sim KWill
Tentarei usando CLOB ou BLOB, o tipo do meu campo é: LONG e rola legal…
Não preciso que seja CLOB cara…
Estranho é que usando o HIBERNATE ele rola, já estou tentando achar no DRIVER do Hibernate o que ele faz com esse tipo, mas não estou achando!
Abçs
Se for o LONG que é “Character data of variable length (A bigger version the VARCHAR2 datatype)”, pode ser que “setCharacterStream” possa ser usado no lugar do “setUnicodeStream”. E o método “setCharacterStream” não está marcado como “deprecated” (tendo como referência o javadoc da especificação 1.5 do Java).
Inté.
silvars
Justamente meu caro Kwill!
Acabei de usa-lo (statement.setCharacterStream), e funcionou…
Acredito que os DRIVERS dos diversos BDs implementem esse método…