Array
(
)

Inserir BLOB-texto via script, é possível?

Aerreira
   - 30 mar 2006

Estou criando scripts SQL para popular tabelas com dados provenientes de arquivos DBF/DBT, e estou com problemas na carga do conteúdo dos campos memos.

Estou gerando scripts desse jeito (suprimi vários campos para facilitar o entendimento):

#Código

insert into CONVENIOS 
(CODIGO, CONVENIO, OBS)
values
(008, ´LIFE SA–DE´,
´Carencia para consultas 30 dias - Verificar na carteira a
data de adesÆo. VEJA MAIS INFORMA€åES ABAIXO.´);


A tabela convênios tem a seguinte DDL:

#Código
CREATE TABLE CONVENIOS (
CODIGO CHAVE, /* dominio */
CONVENIO CHAR(20) NOT NULL,
OBS BLOB SUB_TYPE 1 SEGMENT SIZE 80
);


Pergunto: é possivel inserir conteúdo de campos BLOB através de scripts?


Rafael Gomes
   - 30 mar 2006

se nao estou enganado, eu fazia dessa forma e nao tinha nenhum problema! esta ocorrendo algum erro!?

[]s


Aerreira
   - 30 mar 2006

Cara, sabe que acabei de fazer um teste aqui com esse script ´capado´ e deu certo!!! Estava dando erro sim, mas no momento estou em outro local e não tenho como testar com o script inteiro para passar o erro... Mas começo a desconfiar então que o erro não é no BLOB e sim em algum outro campo... O erro que dava era algo como ´overflow em string´ ou coisa parecida... No final da tarde eu testo novamente e posto o resultado aqui.


Gilberto Fernandes
   - 30 mar 2006

eu acho q dessa maneira aí naum da certo naum, pq vc ta adicionando um valor string no campo blob, vc vai ter um erro, a naum ser q tenha uma função q converta de string para binario, aí vc conseguirá dar esse insert


Aerreira
   - 30 mar 2006


Citação:
eu acho q dessa maneira aí naum da certo naum, pq vc ta adicionando um valor string no campo blob, vc vai ter um erro, a naum ser q tenha uma função q converta de string para binario, aí vc conseguirá dar esse insert


Mas SUB_TYPE 1 é texto! Se fosse SUB_TYPE 0 aí sim seria binário e daria erro.


Aerreira
   - 26 abr 2006

Apenas para completar o que foi tratado no tópico: o erro não era nos campos BLOBs e sim quando eu tentava inserir datas em branco. Agora estou usando NULL para datas em branco e os scritps estão funcionando bem.

Porém agora surgiu uma questão: tem como um script SQL chamar outro?

Explicando melhor: tenho cinquenta e poucos scripts para inserção de dados provenientes de um sistema antigo, totalizando aproximadamente 90Mb, porém para não ter que rodar um-a-um via Script Executive do IBExpert gostaria de saber se tem como criar um outro script que ´chame´ os demais scripts para serem executados individualmente ? Isso não precisa ficar dentro do sistema, é uma rotina para ser rodada oficialmente apenas uma vez, mas para automatizar o processo, uma chamada a um único script seria muito mais fácil.

O que sugerem?