CPP : Alternative zu DB-Zugriff über ODBC;

Gast #2786642
Lesenswert?

Hallo,

ich nutze für Datenbankzugriffe in GNU C/CPP-Programmen (Eclipse/MinGW) 
bisher die ODBC-Schnttstelle.

Bei Java gibt es ja native Treiber, die direkt auf die Datenbank (z.B. 
MS SQL Server 2008) zugreifen.
Gibt es das für C/CPP auch und welche Erfahrungen habt ihr damit gemacht 
?
Gast #2786912
Lesenswert?

interrupt; schrieb:
> Gibt es das für C/CPP auch und welche Erfahrungen habt ihr damit gemacht
> ?

klar gibt es die. z.b. von MySQL.

Die Frage ist aber warum man das machen sollte. Bei ODBC kannst du recht 
einfach die Datenbank wechseln. Bei einen nativen Treiber kann die 
Schnittstelle komplett anders aussehen. (nicht wie bei java wo das 
interface vorgegeben ist).
Gast #2787021
Lesenswert?

interrupt schrieb:
> Ich frage deshalb, weil mir der Datenbankzugriff mit einem
> Typ4-Java-DB-Treiber (also ohne ODBC) extrem schnell vorkommt.
> Bei ähnlicher Performance könnte das auch für C/CPP interessant sein.

also wenn java schneller als C/Cpp sein soll, dann hats du bei C/Cpp 
viele fehler gemacht.

Wir verwenden nur ODBC und das kann ich sagen das man damit zumindest 
ein 100Mbit/s Netz augelastet bekommt, der Treiber ist ist besitmmt 
nicht das Limit.
Gast #2787809
Lesenswert?

Peter II schrieb:
> also wenn java schneller als C/Cpp sein soll, dann hats du bei C/Cpp
> viele fehler gemacht.

Ich rede nicht von der gleichen Abfrage bei Java bzw. C/CPP, insofern 
ist das nicht direkt vergleichbar.
Für Jva-Verhältnisse kommt mir die direkte Abfrage (ohne ODBC) 
allerdings sehr schnell vor.


> Wir verwenden nur ODBC und das kann ich sagen das man damit zumindest
> ein 100Mbit/s Netz augelastet bekommt, der Treiber ist ist besitmmt
> nicht das Limit.

Die Frage ist nur, was sind wirkliche Daten und was ist Treiber-Overhead 
!
Gast #2787825
Lesenswert?

interrupt schrieb:
> Ich rede nicht von der gleichen Abfrage bei Java bzw. C/CPP, insofern
> ist das nicht direkt vergleichbar.
> Für Jva-Verhältnisse kommt mir die direkte Abfrage (ohne ODBC)
> allerdings sehr schnell vor.

auf die Geschwindigkeit der Abfrage hat der Treiber überhaupt keinen 
Einfluss, das macht der Server.

Entscheident ist, wie werden parameter übergeben (Bind) oder werden 
daten mehrfach kopiert.

In C wird meist bei

String s1;
string s2;
s1 = s2;

ein kopiervorgang gestartet, in java wird nur eine Referenz kopiert.

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