Wie MYSQL <-> C ?

Gast #1704326
Lesenswert?

Hallo,

folgende Problemstellung:

1x Server mit MYSQL Datenbank

nun soll ein Client für Windows entwickelt werden der einfache 
Datenbankabfragen ausführt. Ein einfaches Konsolenprogramm genügt. Die 
Sprache sollte C oder C++ sein. Ich finde im Internet jedoch keine 
brauchbaren Informationen. Ich suche also ein Tutorial, Buch oder 
Beispielcode.

Vielen Dank
#1719125
Lesenswert?

Warum sollte sie unbrauchbar sein?

Man kann halt nur mysql damit ansprechen,

ODBC hat durchaus ein sinnvolles Konzeot;
Mit dem entsprechenden ODBC-Treiber (ODBC für mysql, oder
ODBC für Ms-SQL...) richtet man eine Datenquelle in der
Systemsteuerung ein und gibt dem Ding einfach einen
Namen.

Dein Programm würde dann nicht mehr zu wissen brauchen,
ob die Daten aus mysql oder sonstwo herkommen, sondern
einfach über den vergebenen Namen darauf zugreifen.
Bei Bedarf kann man die Datenbank darunter austauschen, ohne
die Programme zu ändern.

Insofern wäre dein Programm portabel bzgl. des DB-Systems;
dafür nicht portabel bzgl. Betriebssystem.
Mit libmysql ist es auf mysql fixiert, dafür über die
Betriebssysteme hinweg portabel (und natürlich etwas
effizienter, weil die Zwischenschicht ODBC entfällt).
#1719255
Lesenswert?

Klaus Wachtler schrieb:
> Bei Bedarf kann man die Datenbank darunter austauschen, ohne
> die Programme zu ändern.

In der Theorie. In der Praxis funktioniert das aber meist aufgrund von 
subtilen oder weniger subtilen Unterschieden zwischen den verschiedenen 
SQL-Dialekten nur bei relativ einfach aufgebauten Datenbanken und 
Queries.

Selbst z.B. bei MySQL ein (vordergründig einfacher) Wechsel zwischen 
MyISAM- und InnoDB-Tabellen bringt durchaus so seine versteckten Fallen 
mit sich...

Andreas
Gast #1719419
Lesenswert?

Klaus Wachtler schrieb:
> Insofern wäre dein Programm portabel bzgl. des DB-Systems;
> dafür nicht portabel bzgl. Betriebssystem.
> Mit libmysql ist es auf mysql fixiert, dafür über die
> Betriebssysteme hinweg portabel (und natürlich etwas
> effizienter, weil die Zwischenschicht ODBC entfällt).

warum das denn, mein Programm läuft ohne Probleme mit ODBC unter Windows 
wie unter Linux. Und die Zwischenschicht ist sehr klein, bei den 
heutigen CPU merkt man davon nichts, auch bei mehre Tausenden 
Datensätzen.
Gast #1719863
Lesenswert?

Bloss nicht die proprietäre MySQL C Schnittstelle verwenden, damit bist 
du auf Gedeih und Verderb auf diese Datenbank festgenagelt.
Man verwendet ODBC als herstellerunanabhängige Schnittstelle, da sind 
die Aufrufe standardisiert, ggf. unter Verwendung einer Zwischenschicht 
aus MFC, ADB, DotNET oder sonst einer Bibliothek, und entwickelt erst 
mal mit MySQL als Datenbank. Muss man dann eines Tages die Datenbank 
wechseln, macht man das einfach. Die Unterschiede der Datenbanken sind 
nicht so gross (manch eine hat manchmal merkwürdige Syntax).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren