Trabalhando o charset para gerar arquivos de um CLOB no Oracle

[ad#texto]

Vamos falar um pouco sobre charset no banco de dados Oracle, uma boa dica é primeiro descobrir quais charsets estão instalados e validados para se trabalhar no Oracle, para isso executamos a seguinte query:

SELECT * FROM V$NLS_VALID_VALUES WHERE parameter = 'CHARACTERSET'

Feito isso é também uma boa identificar qual é o ID de um determinado charset (mais a frente verá como aplicar isso), para descobrir então o número ID de um charset no Oracle executamos a seguinte query:

SELECT NLS_CHARSET_ID('WE8MSWIN1252') FROM DUAL;

Note que neste exemplo localizamos o ID de um charset para Windows, conhecido como WIN-1252.

Uma forma de como utilizar e de quando vai trabalhar com isso é quando surgir a necessidade de gerar um arquivo com base em um CLOB, neste caso um dos parâmetros é o ID do charset que o arquivo será gerado:

DBMS_XSLPROCESSOR.CLOB2FILE(um_clob, path_do_arquivo, nome_do_arquivo, NLS_CHARSET_ID('AL16UTF16'));

Reparem que no último parâmetro eu utilizo a função NLS_CHARSET_ID para descobrir e passar o ID do charset informado ou ainda poderá passar um NUMBER que represente o ID do charset.

Uma dica é deixar que o arquivo seja gerado com o mesmo charset do banco de dados (para evitar que caracteres especiais não sejam impressos corretamente no arquivo caso o charset do banco de dados seja conflitante com o charset escolhido para o arquivo) apenas suprimindo o último parâmetro:

DBMS_XSLPROCESSOR.CLOB2FILE(um_clob, path_do_arquivo, nome_do_arquivo);

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.