GugaJedi 0 Denunciar post Postado Maio 3, 2011 Olá à todos, sou novo aqui neste forum, e estou atrás de uma informação que não fui capaz de achar sozinho no Google, talvez porque eu não esteja conseguindo pesquisar de forma correta ou também por não saber por que nome pesquisar, mas bem, vamos ao que interessa. Tenho um problema na minha base de cadastro de mercadoria que é alimentado por um aplicativo terceiro que é de outro país e executa uma tradução automática no nome dos itens antes de preparar a carga para alimentar a minha base. Quando estas mercadorias chegam à minha base, elas chegam com caracteres especiais. Bom eu preciso saber como filtrar estas mercadorias na minha base e depois de filtrar vou criar um fluxo que substitua estes caracteres. Bom, estou tentando localizar mercadorias que contenham o caracter ? de ponta cabeça, que ocorre quando o sistema tradutor não encontra a letra para traduzir, este erro me gera problema na emissão de NFe com a mercadoria que possuir este caracter. A select que montei esta da seguinte forma: select descricao from tab_mercadoria where cod_loja = 542 and descricao like '%¿%'; Mas nunca traz nada, esta correto utilizar o like nesta instrução, porque ele não faz a busca. Se eu coloco uma letra comum ali como um A ou B também não filtra nada. O banco de dados é Oracle 10G Enterprise e esta instalado sobre Windows 2003 Server. Outra dúvida que tenho é como saber em que linguagem esta configurado o banco de dados? Existe no Oracle um comando semelhante ao do MSSQL que exibe em que linguem e versão o Banco esta? Desde já obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 3, 2011 Se tiver o GRANT faça SELECT * FROM V$PARAMETER WHERE Lower(DESCRIPTION) LIKE '%language%' Testei aqui localizar um ¿ e não tive problemas. ¿ Qué pasa ? :) Compartilhar este post Link para o post Compartilhar em outros sites
GugaJedi 0 Denunciar post Postado Maio 3, 2011 Se tiver o GRANT faça SELECT * FROM V$PARAMETER WHERE Lower(DESCRIPTION) LIKE '%language%' Testei aqui localizar um ¿ e não tive problemas. ¿ Qué pasa ? :) Pode me mostrar como você montou o Select? O meu esta correto. Como eu posso criar um JOB que execute uma correção ou seja, uma substituição destes caracteres toda noite no Banco? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 3, 2011 Eu pensaria uma trigger que operasse um translate na string. Veja um exemplo. Algo +ou- assim CREATE OR REPLACE TRIGGER TR_TABELA1 BEFORE INSERT OU UPDATE ON TABELA1 DECLARE BEGIN :NEW.CAMPO1 := TRANSLATE(:NEW.CAMPO1,'¿?<>',' ');--troca os caracters por brancos END; Compartilhar este post Link para o post Compartilhar em outros sites