Informix 7,3 instrução de inserção isql - / blob / campo clob texto de erro de inserção

StackOverflow https://stackoverflow.com/questions/1074364

Pergunta

É uma maneira de contornar isso ??

Eu estou tentando inserir alguns dados em uma tabela cuja estrutura é a seguinte:

Column name          Type                                    Nulls

crs_no               char(12)                                no
cat                  char(4)                                 no
pr_cat               char(1)                                 yes
pr_sch               char(1)                                 yes
abstr                text                                    yes

O tipo do último campo lê 'texto', mas ao tentar inserir esta tabela, eu recebo este erro:

insert into crsabstr_rec values ("COMS110","UG09","Y","Y","CHEESE");

  617: A blob data type must be supplied within this context.
Error in line 1
Near character position 66

Portanto, este campo é uma espécie de bolha aparentemente, mas não vai demorar inserções (ou atualizações). Normalmente, estes registos são inseridos numa forma gráfica, em seguida, alças de código C as inserções.

Foi útil?

Solução 2

no iSQL ....

Load from desc.txt insert into crsabstr_rec;

3 linha (s) carregado.

desc.txt é um | (Pipe) arquivo de texto delimitado e o número de campos na txt tem que coincidir com o número de campos na tabela

Outras dicas

Não há blob (BYTE ou TEXT) literais em Informix Dynamic Server (IDS) - nem para CLOB ou tipos BLOB em IDS 9.00 e posterior. É uma fonte permanente de frustração para mim; Eu tive o pedido de recurso no sistema há anos, mas nunca atinge o limiar de dor internamente Isso significa que ele fica fixo -. Outras coisas tem dado uma maior prioridade

No entanto, ele morde as pessoas o tempo todo.

Em IDS 7.3 (que você deve apontar para atualizar - ele sai do serviço em setembro de 2009, após uma década ou mais), você está muito preso com o uso de C para obter os dados no campo de texto de um banco de dados. Você tem que usar o tipo aprovado C 'loc_t' para armazenar as informações sobre os dados BYTE ou TEXT, e passar isso para o servidor.

Se você precisa de exemplos em ESQL / C, olhar no site da Internacional Informix User Group , e especialmente o Software Repository . Entre outras coisas, você vai encontrar o programa SQLCMD original (programa de mesmo nome da Microsoft é um Johnny-chegada) em forma de fonte. Ele também inclui um conjunto de programas que eu dub 'vinhetas; eles manipulam blobs de várias maneiras, e são projetados para mostrar como usar estruturas 'loc_t' em vários cenários.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top