2009-07-02 13 views
1

Ist ein Weg um dies ??Informix 7.3 isql Anweisung einfügen - Text/Blob/Clob Feld Fehler einfügen

Ich versuche, einige Daten in eine Tabelle, deren Struktur einzufügen ist:

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 

Der Typ des letzten Feldes liest ‚Text‘, aber wenn sie in dieser Tabelle einzufügen versucht, erhalte ich diese Fehlermeldung:

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 

Also dieses Feld ist anscheinend eine Art Blob, aber wird keine Einfügungen (oder Updates) nehmen. Normalerweise werden diese Datensätze in ein GUI-Formular eingefügt, dann verarbeitet C-Code die Einfügungen.

Antwort

2

in iSQL ....

Load from desc.txt insert into crsabstr_rec; 

3 Zeile (n) geladen.

desc.txt ist ein | (pipe) abgegrenzte Textdatei und die Anzahl der Felder im txt muss mit der Anzahl der Felder in der Tabelle übereinstimmen

4

In Informix Dynamic Server (IDS) gibt es keine Blob- (BYTE- oder TEXT-) Literale, in IDS 9.00 und höher keine CLOB- oder BLOB-Typen. Es ist eine ständige Quelle der Frustration für mich; Ich habe die Feature-Anfrage im System seit Jahren, aber es erreicht nie die Schmerzschwelle intern, dh es wird behoben - andere Dinge bekommen eine höhere Priorität.

Trotzdem, es beißt die Leute die ganze Zeit.

In IDS 7.3 (auf das Sie ein Upgrade vornehmen sollten - es wird im September 2009 nach etwa einem Jahrzehnt außer Betrieb genommen), müssen Sie C verwenden, um die Daten in das TEXT-Feld einer Datenbank zu übertragen. Sie müssen den genehmigten C-Typ 'loc_t' verwenden, um die Informationen zu den BYTE- oder TEXT-Daten zu speichern und an den Server zu übergeben.

Wenn Sie Beispiele in ESQL/C benötigen, sehen Sie sich die International Informix User Group-Website an, insbesondere die Software Repository. Unter anderem finden Sie das ursprüngliche SQLCMD-Programm (Microsoft-Programm mit dem gleichen Namen ist ein Johnny-Come-Lately) in Quelltext. Es enthält auch eine Reihe von Programmen, die ich Vignetten überspiele; Sie manipulieren Blobs auf verschiedene Arten und zeigen, wie man "loc_t" -Strukturen in verschiedenen Szenarien verwendet.

+0

schlechte Nachrichten ... ich dachte, all die Sachen, die ich im Internet für dieses Thema gefunden hatte, waren gerade veraltet Aber wenn du mir sagst, dass das immer noch so ist, dann sei es so. Danke für die Info darüber und den informix Service-Abschluss – CheeseConQueso