PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenbanken auf Singelrechner????



26-02-2001, 13:45
Hallo Robi,

Das sind ja gleich 5 Fragen auf einmal http://www.linuxforen.de/ubb/smile.gif

Aber ich hab auch einige Antworten, denke ich http://www.linuxforen.de/ubb/smile.gif

zu 1)
Du hast Recht, es gibt einen Datenbank-Server (Database Management System, DBMS), der im Hintergrund auf einem Rechner laeuft und auf Anfragen von Clients (also den Programmen, die die DB benutzen) wartet. Der Server kann auf einem Rechner im Netz laufen, er kann jedoch auch auf dem eigenen Rechner laufen. Zum einen schon dadurch, dass unter Linux ja meistens ein Loopback Netzwerk eingerichtet sein sollte, also auch ohne Netzwerkkarte/Isdn Karte das IP Netzwerk zum eigenen Rechner funktionieren Sollte. Unter der IP Adresse 127.0.0.1 bekommst du eigentlich immer deinen eigenen Rechner. Daher ist es auch egal, wenn ein DBMS auf Anfragen aus dem Netz wartet, denn eigentlich ist es ja ein Netzwerk. Zudem gibt es noch die Moeglichkeit, den verschiedenen DBMS zu sagen, dass sie nur vom Lokalen Rechner, aber ohne Netzwerkunterstuetzung laufen sollen. Wie das bei MySQL ist, weiss ich aber nicht, PostgreSQL muss man ohne den Parameter -i starten.

zu 2)
Hat sich damit eigentlich erledigt. Du verwendest sowieso immer die Bibliothek der Datenbank mit (wie gesagt, MySQL:keine Ahnung, bei PostgreSQL ists die LibPQ). Die Regelt das dann fuer dich, du musst nur bei einer Connect Funktion den Zielrechner (im Fall "lokal": localhost oder 127.0.0.1) angeben.

zu 3)
Eigentlich nicht. Es gibt noch ne Menge Tools, die man verwenden kann, aber mit der DB hast du schon alles im Sack, was du brauchst. Fuer die Programmierung halt noch die Bibliothek (.so, .dll je nach OS) und die noetigen Header. Die sollten aber bei der DB irgendwo dabei liegen.

zu 4)
Schreiben
Compilieren
Starten http://www.linuxforen.de/ubb/smile.gif
Die DB muss waerend des testens natuerlich auch laufen.

zu 5)
Hm, das ist schon eine Schwierigere Frage. Kommt drauf an, wieviel Ahnung du von Datenbanken allg. hast. Im groben siehts so aus : Du stellst von deinem Programm ne Anfrage an die DB, zumeist in der Sprache SQL, dann erhaelst du eine Datenmenge oder einen Status (wenns ums loeschen/einfuegen geht) zurueck, mit dem du weiter arbeiten kannst. Fuer all das benutzt du die Lib-Funktionen der Db, also ists hilfreich, wenn du mal in nem MySQL Tutorial oder der Doku nachschlaegst..

Hoffe, das war jetzt nicht ein wenig viel auf Einmal.. http://www.linuxforen.de/ubb/smile.gif

Gruss
Sven

27-02-2001, 00:03
Hy,
Ich würde gern mal mit der Datenbankenprogrammierung anfangen, hab aber dazu einige Fragen:
1)Kann man die ganze programmierung auch offline auf einem einzigen Rechner ausprobieren (Ich lese ständig was von Servern und Client?)?
2)Wenn man das nicht kann wie soll ich mir die Programmierung sonst vorstellen
3)Brauch ich außer der Datenbank (hab MySQL) noch was anderes?
4)Wie kann ich meine Programme testen?
5)Wie muß ich mir überhaupt die grundlegende Datenbankprogrammierung vorstellen?

Ok das warn ne Menge Fragen! Wenn ich auf ein Paar, ne Antwort bekomme wäre ich sehr dankbar!
tschüß Robi!!

21-03-2001, 22:30
hi voicemaster,
unter welcher sprache willst du denn arbeiten?? wenn du ein einfaches beispiel willst, aknn ich dir gern mal eins mailen/posten. (für C/Perl/Php)

olli

24-03-2001, 13:54
hi olli,
compilieren mit
gcc test.c -o test -lmysqlclient -I/usr/include/mysql/

infos findest du auch unter http://www.mysql.com/documentation/mysql/bychapter/manual_Clients.html#Cplusplus




#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <mysql.h>

int main (int argc,char *argv[]){
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
char *psql,sql[255]="";

mysql_init(&mysql);
// Fehlerabfrage
if(!mysql_real_connect(&mysql,"localhost","root","","mysql",0,NULL,0)){
printf("%s\nExit.\n",mysql_error(&mysql));
mysql_close(&mysql);
return 1;
}

sql[0]=0;
sprintf(psql,"select * from user");
if(mysql_query(&mysql,psql)){
printf("SQL-Error: %s\nExit.\n",mysql_error(&mysql));
mysql_close(&mysql);
return 1;
}

res=mysql_store_result(&mysql);
printf("%d Rows found...\n",mysql_num_rows(res));
while((row=mysql_fetch_row(res))){
printf("%s \n",row[0]);
}

mysql_free_result(res);
mysql_close(&mysql);
return 0;
}



olli

[Dieser Beitrag wurde von lolli am 24. März 2001 editiert.]

[Dieser Beitrag wurde von lolli am 24. März 2001 editiert.]

25-03-2001, 00:41
Die Datenbank als solches werd/will ich mit SQL programmieren und ihre Nutzung/Einbindung ins System oder Programme mit C/C++.
Über jede Hilfe bin ich dankbar!
Tschau
ROBI!