Qual é o Charset do seu XE? Você baixou aquele básico? Unicode?

Você tem que gerenciar o problema de Charset nas camadas de comunicação com
o banco.

Você pode considerar a geração de um arquivo texto e a carga dos dados
através de sql*loader, dependendo do seu problema.

Que linguagem você tá usando? Tá usando que componentes diretamente no
código? ADO?

Abraços.

Atenciosamente,
Gleyson Melo


Em 28 de julho de 2010 15:56, Adalberto de Sousa Monteiro
<asm...@gmail.com>escreveu:

>
>
> Pessoal, boa tarde.
>
> Estou desenvolvendo um programa para executar alguns "INSERT´s" em uma base
> ORACLE. Estou utilizando Oracle XE e drive de acesso ODAC.
>
> Crio em tempo de execução um componente para Query : OraQryKey :
> TOraQuery;
>
> Leio um arquivo texto aonde contem as sintaxes de INSERT. Cada sintaxe eu
> executo da seguinte maneira:
> OraQryKey.SQL.Clear;
> OraQryKey.SQL.Text := vs_Linha;
> OraQryKey.Execute;
>
> Para algumas sintaxes, estou tendo como resultado o seguinte erro:
> ORA-00917: missing comma
> Essa é uma linha que me retorna o erro: INSERT INTO
> TAENTIDADE_TEMP_LAYOUT(DS_COLUNA, FL_ATIVO, ID_LAYOUT, NM_COLUNA,
> NM_TABELA,
> NR_ORDEM) VALUES ('Complemento do Endereço', 'S', 12, 'DS_COMPLEMENTO',
> 'TAENTIDADE_TEMP', 5)
>
> Caso eu altere o "Endereço" para "Endereco" e executo, funcionamento
> perfeitamente.
>
> Em outros casos, tenho o seguinte erro: ORA-00911: invalid character
> Quando a sintaxe esta dessa forma: INSERT INTO TAPROGRAMA(DS_CAPTION,
> DS_COLOR_TITULO, DS_HELP, DS_HINT, FL_ITEMDEC, ID_PROGRAMA, NM_PROGRAMA,
> NR_ITEMPRINC, QT_COMPRIMENTO_TELA, QT_LARGURA_TELA) VALUES ('Iniciar /
> Pausar Serviço', '$00FFB7B7', '', '', 'N', 10, 'FORM_STARTSTOP', 0, 575,
> 180)
>
> E quando altero para essa forma, funciona: INSERT INTO
> TAPROGRAMA(DS_CAPTION, DS_COLOR_TITULO, DS_HELP, DS_HINT, FL_ITEMDEC,
> ID_PROGRAMA, NM_PROGRAMA, NR_ITEMPRINC, QT_COMPRIMENTO_TELA,
> QT_LARGURA_TELA) VALUES ('Iniciar / Pausar Servico', '$00FFB7B7', '', '',
> 'N', 10, 'FORM_STARTSTOP', 0, 575, 180)
> Alterando somente o "Serviço" para "Servico".
>
> Alguem saberia me dizer porque?
>
> Porém outros "inserts" com caracteres desse tipo, vai numa boa, até mesmo
> para a mesma tabela, como o exemplo abaixo:
> INSERT INTO TAPROGRAMA(DS_CAPTION, DS_COLOR_TITULO, DS_HELP, DS_HINT,
> FL_ITEMDEC, ID_PROGRAMA, NM_PROGRAMA, NR_ITEMPRINC, QT_COMPRIMENTO_TELA,
> QT_LARGURA_TELA) VALUES ('Manutenção de Ações', '$00FFB7B7', '', '', 'N',
> 27, 'FORM_CADACAO', 0, 800, 410)
> INSERT INTO TAENTIDADE_TEMP_LAYOUT(DS_COLUNA, FL_ATIVO, ID_LAYOUT,
> NM_COLUNA, NM_TABELA, NR_ORDEM) VALUES ('DATA DA ULTIMA ALTERAÇÃO DO
> REGISTRO', 'N', 18, 'DT_ALTERACAO', 'TAENTIDADE_TEMP', 0)
>
> Utilizo para acesso o banco de dados o PL/SQL Developer e se executo a
> mesma
> linha diretamente por ele, insere tranquilamente.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a