txt Datei in Mysql Datenbank speichern

hasnaa

Grünschnabel
Hallo,

ich möchte gerne eine Datei in eine Tabelle einer Mysql-Datenbank inportieren, dafür habe ich ein C-Code geschrieben, das die folgende Schritte realisiert:

Verbindung zur Datenbank aufbauen: ist schon da.

txt-Datei zum lesen öffnen.

Durch Insert daten in der Tabelle speichern.

Leider mein code wird kompiliert ohne Fehlern, aber beim ausführen wird nicht geatan. Anbei ein Stück vin mein Code vielleicht kann eine von euch mir weiterhelfen.

Datenbank:Mysql
Programmiersprache: C
Betriebssystem: Ubuntu(Linux)

file = fopen("/homme/hasnaa/Datei.txt","r");
fsize = fread(buffer, 1, sizeof(buffer), file);
fclose(file);
tmppos = strmov(tmp, "INSERT INTO features VALUES (");
tmppos += mysql_real_escape_string(&mysql, tmppos, buffer, fsize);
tmppos = strmov(tmppos, "')");
*tmppos++ = (char)0;
printf("endlich"),
mysql_query(&mysql, tmp);
id = (int)mysql_insert_id(&mysql);
mysql_free_result(res);
mysql_close(&mysql);
return 0;

Danke euch
 
Hallo Dunas,

meinst du statt Insert....., benutze ich LOAD ............., oder wie?
kannst du vielleicht mir einen Beispiel dafür schreiben.

Danke
 
Hi,
Ja ich habe auch mir das angeschaut, aber leider bin ich nicht so zu recht gekommen.
LOAD DATA ..................IN FILE 'my-File'.................INTO TABLE my-table.....................

alles was mit punkte ergäntzt ist optional oder wie? wenn nein was soll ich dort eingeben, Spalten-Name und Dtentyp oder wie?

Danke
 
aber moment, LOAD DATA INFILE ist doch ein SQL Befehl, das im console eingegen wird:
mysql>LOAD DATA.........................

odr nicht?

ich mache ganz arbeit(Tabelle anlegen, daten aus Datei auslesen und in der Datenbak speichern............) anhand ein C-Code.


Danke
 
aber moment, LOAD DATA INFILE ist doch ein SQL Befehl, das im console eingegen wird:
mysql>LOAD DATA.........................

odr nicht?

ich mache ganz arbeit(Tabelle anlegen, daten aus Datei auslesen und in der Datenbak speichern............) anhand ein C-Code.


Danke

Ich hatte den SQL-Code in meinem ersten Post verlinkt mit der entsprechenden Seite des MySQL-Handbuchs.
SQL:
LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table;
Das wäre ein Besipeil aus dem Handbuch.

Wieso machst du es dir so Umständlich mit deinem C-Code? Schick doch einfach die entsprechenden SQL-Befehle an den server.
 
Ja ich möchte auch gerne das mit sql Befehl machen, aber Leider die txt Datei ist nur eine zwischen Speicher und enthäle Ergebnisse der Messungen, d.h die Datei ist immer andres und das hängt von gtestete Signal ab.

dazu mein Code soll auf Basis diese Eingabe was andres machen, also soll alles automatisch laufen.

was du jetzt gerade mir geschrieben hast, bleibt immer sql Befehl odr so kann ich in mein code hinzufügen(code in dem ersten Schreiben) oder wie?

Danke
 
Zurück