Hallo Leute!
Ich hab mich jetzt abgemüht und weiß nicht mehr weiter. Es handelt sich nur noch um eine Zeile (denke ich zumindest), dann bin ich fertig. Nur ich weiß im Moment nicht mehr wie das gehen soll. Also mein Problem ist dass ich nicht weiter weiß wie ich die Daten aus der Datenbank in eine Textatei bringe. Heir mal mein Code:
In meiner letzten Funktion liegt der Fehler. Ich weiß einfach nicht mit welchem Befehl ich die Variable sql in die Datei bekomme! Könnt ihr mir da helfen?
Ich hab mich jetzt abgemüht und weiß nicht mehr weiter. Es handelt sich nur noch um eine Zeile (denke ich zumindest), dann bin ich fertig. Nur ich weiß im Moment nicht mehr wie das gehen soll. Also mein Problem ist dass ich nicht weiter weiß wie ich die Daten aus der Datenbank in eine Textatei bringe. Heir mal mein Code:
Code:
/*Includes*/
#include <stdio.h>
#include <mysql.h>
#include <stdlib.h>
/*Prototypen*/
int connect_DB();
void close_conect(MYSQL*);
void create_file(MYSQL*);
int main(int argc, char *argv[]) {
/*Aufruf der Funktionen*/
connect_DB();
return 0;
}/*Ende der Funktion main*/
/*----------------------------------------------------------------------------*/
/*Diese Funktion stellt eine Verbindung zur Datenbank (Alarmmanager) her*/
int connect_DB() {
/*Variablen*/
MYSQL *conn; /*Fuer Verbindung benoetigt*/
/*Verbindungsaufbau zum MySQL-Server mit Fehlerabfrage*/
conn = mysql_init(NULL);
if (mysql_real_connect( conn,
"2.9.153.47",
"root",
"root",
"wlan",
3306,
NULL,
0) == NULL) {
fprintf(stderr, "Fehler mysql_real_connect(): "
"%u (%s)\n", mysql_errno(conn), mysql_error(conn));
exit(EXIT_FAILURE);
}
/*Funktionsaufrufe*/
create_file(conn); /*Datei erstellen und Daten hinein schreiben*/
close_conect(conn); /*DB-Verbindung schliessen*/
return 0;
}/*Ende der Funktion connect_DB*/
/*----------------------------------------------------------------------------*/
/*Mit Hilfe dieser Funktion wird die Verbindung zur Datenbank wieder
geschlossen und der belegte Speicher wird frei gegeben*/
void close_conect(MYSQL *mysql) {
mysql_close(mysql);
}/*Ende der Funktion close_conect*/
/*----------------------------------------------------------------------------*/
/*Ueber diese Funktion wird eine Datei erstellt und mit dem Inhalt der Tabelle
trace_data gefuellt*/
void create_file(MYSQL *conn) {
FILE *datei;
datei = fopen("/home/tracer/wlan_DB/file_writer/test.txt", "w+");
/*Fehlerabfrage*/
if (datei == NULL) {
fprintf(stderr, "Fehler beim erstellen der Datei\n");
}
/*Inhalt der Tabelle trace_data in Datei schreiben*/
const char *sql = "SELECT * INTO OUTFILE '/home/tracer/wlan_DB/file_writer/test.txt' \
FIELDS TERMINATED BY',' LINES TERMINATED BY '\n' \
FROM trace_data";
fwrite(sql, datei);
/*Datei schliessen*/
close(datei);
}/*Ende der Funktion create_file*/
In meiner letzten Funktion liegt der Fehler. Ich weiß einfach nicht mit welchem Befehl ich die Variable sql in die Datei bekomme! Könnt ihr mir da helfen?