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
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.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 323 outros assinantes

Busca

agosto 2020
DSTQQSS
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

Categorias