Forum: PC-Programmierung Datenbank und c Konsolenanwendung


von Gast1 (Gast)


Lesenswert?

Hallo!
kann ich mit einer C konsolenanwendung auf Datenbank zugreifen? soll ich 
erstmal ein ODBC treiber installieren?Falls jemand irgend ein link 
kennt,in dem diese sachen  erklärt ist,kann er mal bitte hier posten?
Danke im Voraus
mfg

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> kann ich mit einer C konsolenanwendung auf Datenbank zugreifen?

Sicher.

> soll ich erstmal ein ODBC treiber installieren?

Kannst Du machen, wenn Du mit Deiner Anwendung via ODBC mit der 
Datenbank kommunizieren willst. Das ist aber nicht bei jeder Datenbank 
erforderlich; es gibt Datenbanken mit einer nativen 
Programmierschnittstelle, die wird i.d.R. in Form von DLLs oder anderen 
Libraries zur Verfügung gestellt.

Was für eine Datenbank isses denn?

von Gast1 (Gast)


Lesenswert?

Das ist die MySQl.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Für MySQL gibt es sowohl native Programmierschnittstellen als auch 
ODBC-Treiber. Für beides findet man im Netz Tonnen von 
Programmierbeispielen.

Willkürlich in 0.3 msec gegoogelte Beispiele

ODBC und C

http://www.easysoft.com/developer/languages/c/odbc_tutorial.html

MySQL C API

http://tecfa.unige.ch/guides/mysql/man/manuel_C.html#C

von Lukas (Gast)


Lesenswert?

Hallo Forum.
Habe hier auf einem LPC2378 eine Anwendung laufen. Unter anderem werden 
Datensätze genereriert, die ich gern in eine Datenbank schreiben würde 
(SQL). Diese läuft auf einem Server. Habe nun in mein Projekt TCP 
eingebunden, zu dem Server connecten kann ich auch. Aber hier hört mein 
Latein auf.

Wie kann ich nun über die offene Verbindung dem Server sagen dass ich 
etwas in die Datenbank eintragen möchte? Geht das überhaupt ohne 
Datenbanktreiber auf dem Mikrocontroller? Oder gibt es da irgendwelche 
Bibliotheken die ich in den C Code importieren kann? Weiß grad überhaupt 
nicht weiter.

Schon mal Danke für die Mühe.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das hängt vom von Dir verwendeten Datenbankserver ab.
Es gibt DB-Server mit "nativer" Schnittstelle, und es gibt sicherlich 
auch Möglichkeiten, direkt über einen Socket mit so einem DB-Server zu 
kommunzieren. Du müsstest dann komplette SQL-Statements zusammenbasteln 
und an den DB-Server absetzen ...

Einfacher wird es höchstwahrscheinlich, wenn Du auf der Maschine, auf 
der auch der DB-Server läuft, einen skriptfähigen Webserver 
installierst, dann kannst Du mit dem µC HTTP-Requests absetzen, diese 
auf dem Webserver mit der Skriptsprache auswerten und über die 
Datenbankschnittstelle der Skriptsprache in den DB-Server einfüllen. 
Hier bietet sich die Kombination Apache/PHP an, es gibt aber auch noch 
zig andere Möglichkeiten.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Rufus t. Firefly wrote:
> Einfacher wird es höchstwahrscheinlich, wenn Du auf der Maschine, auf
> der auch der DB-Server läuft, einen skriptfähigen Webserver
> installierst, dann kannst Du mit dem µC HTTP-Requests absetzen, diese
> auf dem Webserver mit der Skriptsprache auswerten und über die
> Datenbankschnittstelle der Skriptsprache in den DB-Server einfüllen.
> Hier bietet sich die Kombination Apache/PHP an, es gibt aber auch noch
> zig andere Möglichkeiten.
>
bzw., nach meiner Ansicht noch einfacher, einen eigenen Prozess auf dem 
DB-Server schreiben/laufen lassen, der die Daten vom MC entgegen nimmt 
und sie in die Datenbank hämmert. Dies dürfte unkomplizierter sein, als 
http auf dem MC zu implementieren...

Grüße Uwe

von Lukas (Gast)


Lesenswert?

Danke für die Anregungen. Dachte mir schon dass ich wohl nicht um eine 
weitere Applikation auf dem Server herum komme. Schade, denn genau das 
müßte ich umgehen. :(

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Lukas wrote:
> Schade, denn genau das
> müßte ich umgehen. :(
>
nun, so kompliziert ist es nicht und du mußt auch nicht unbedingt ein 
C-Programm schreiben. Viele Scriptsprachen können auf der einen Seite 
IP-Sockets bearbeiten und bieten auf der anderen Seite Möglichkeiten DBs 
anzusprechen. Ich benutze für solche Singe immer Tcl...

Uwe

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Für ganz hart gesottene gibt es irgendwo auf der MySQL-Webseite auch die 
detaillierte Beschreibung des TCP/IP-Protokolls, so dass man auchg ganz 
nativ arbeiten kann. Ist aber nicht ganz simpel.
Immerhin gibt es bei MySQL diese Infos wenigstens, bei anderen DBs habe 
ich mir da schon die Finger wund gesucht ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.