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]