Informix 7.3 isql Insert-Anweisung - Text / Blob / clob Feldeinsatz Fehler
Frage
Ist ein Weg, um dieses ??
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, bekomme ich diesen Fehler:
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
So ist dieses Feld eine Art von Blob offenbar, aber nicht nehmen Einsätze (oder Updates). Normalerweise werden diese Datensätze in ein GUI-Formular eingefügt, dann übernimmt C-Code die Einfügungen.
Lösung 2
in iSQL ....
Load from desc.txt insert into crsabstr_rec;
3 Zeilen (n) geladen.
desc.txt ist a | (Rohr) getrennte Textdatei und die Anzahl der Felder in der txt haben die Anzahl der Felder in der Tabelle entsprechen
Andere Tipps
Es gibt kein Blob (BYTE oder TEXT) Literale in Informix Dynamic Server (IDS) - noch für CLOB oder BLOB-Typen in IDS 9.00 und höher. Es ist eine ständige Quelle der Frustration für mich; Ich habe den Feature-Request in dem System schon seit Jahren, aber es reicht nie intern die Schmerzschwelle, die bedeutet, dass es behoben wird -. Anderes eine höhere Priorität gegeben bekommen
Dennoch ist es beißt Menschen die ganze Zeit.
In IDS 7.3 (die Sie sollten ein Upgrade Ziel - es außer Betrieb geht im September 2009 nach einem Jahrzehnt oder so), sind Sie ziemlich viel stecken mit C unter Verwendung der Daten in das Textfeld einer Datenbank zu erhalten. Sie haben den zugelassenen C-Typen ‚loc_t‘ verwenden, um die Informationen über die BYTE oder TEXT-Daten zu speichern, und übergeben, daß an den Server.
Wenn Sie Beispiele in ESQL / C, Blick auf die Internationale Informix User Group Website und vor allem die Software Repository . Unter anderem werden Sie das ursprüngliche SQLCMD-Programm (Microsoft-Programm mit dem gleichen Namen ist ein Johnny-come-lately) in Source-Form zu finden. Es enthält auch eine Reihe von Programmen, die ich ‚Vignetten‘ betiteln; sie manipulieren Klecksen auf verschiedene Weise, und sind entworfen, um zu zeigen, wie ‚loc_t‘ in verschiedenen Szenarien Strukturen zu verwenden.