![]() |
BDES 2006 und externe mySQL Verbindung
Moinsen @ alle Programmierer^^
Also ich habe folgendes Problem dass ich gerne eine Verbindung mit meiner mySQL Datenbank von meinem Server herstellen möchte, jedoch weis ich nicht genau wie ich dass machen soll und zum anderem bin ich auch noch anfänger in DELPHI kann zwar schon einiges z.B. INI files etc. aber mySQL und DELPHI ist mir neu. Nun hab ich schon oft gelesen dass sowas über Zeos oder so gehen soll jedoch bekomm ich dass ding nicht installiert und wenn ich die examples starte kommt immer PASCAL FEHLER Z"dateiname".dll/etc. nicht gefunden (USES). Nun frag ich euch liebes Forum, wie kann ich dies am besten anstellen? Thx im Vorraus :D eLem3ntx / em3L |
Re: BDES 2006 und externe mySQL Verbindung
|
Re: BDES 2006 und externe mySQL Verbindung
Ok danke :D habe das Tut verstanden jedoch wenn ich das Project teste kommt der Fehler in der mySQL Unit dass die Winsock.dcuil nicht gefunden werden kann. Weiß einer wieso hab alles genau nach Tut gemacht. die libmySQL.dll und die mySQL File in den Project ordner kopiert und mySQL in USES geschrieben jedoch wird mySQL unter den USES auch rot unterstrichen!
Kann jemand helfen? Danke :D |
Re: BDES 2006 und externe mySQL Verbindung
Das Tutorial sieht auf den ersten schnellen Blick ganz interessant aus, vor allem wenn einem Turbo Delphi 2006 Express bei Zeos ständig die Fremdkomponeten moniert.
Eine Klasse zur Verbindung ist völlig ausreichend. Mal reinarbeiten thx |
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
|
Re: BDES 2006 und externe mySQL Verbindung
Wie du weißt immernoch nicht weiter? In dem Tutorial steht doch wie du deine MySQL-Datenbank mit Delphi ansteuern kannst? Wieso setzt du es nicht einfach um?
|
Re: BDES 2006 und externe mySQL Verbindung
Was ist das für ein Server? Ist das ein Server bei einem Hoster bei dem du nur Webspace mit einer Datenbank hast? Dann könntest du Probleme bekommen, da die meisten Webhoster einen externen Zugriff nicht zulassen aus Sicherheistgründen.
|
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
Dass müsste ja dann noch nix mit der Winsock zu tun haben oder? |
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
|
Re: BDES 2006 und externe mySQL Verbindung
Na dass hab ich glaub schon geschrieben aber es ist ja nicht verkehrt nochmal den Fehler zu posten :D
Also jedesmal wenn ich mein Project compilen will breichtet mir Borland dass in der mySQL.pas (die datei vom tutorial) die Datei Winsock.dcuil nicht gefunden werden kann (PASCAL FEHLER). Jedoch weis ich nicht woher ich diese überhaupt haben sollte oder zu was man sie überhaupt braucht?!?? Auf jedenfall copiled Borland dass nicht :( Weis einer weiter? |
Re: BDES 2006 und externe mySQL Verbindung
Du mußt ein VCL-Win32 Project und kein VCL(Net) Projekt erzeugen.
|
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
Edit: Ok sorry habs gefunden danke für eure Unterstützungen :D, eLem3ntx Vtl. folgen noch weitere probs^^ |
Re: BDES 2006 und externe mySQL Verbindung
Hast du vielleicht Turbo Delphi für .Net? Dnn geht diese Klasse nicht.
|
Re: BDES 2006 und externe mySQL Verbindung
Nein hab das Borland Normal Delphi 2006 und nun geht es auch jedoch sagt er beim connecten: "Client does not support authentication protocol requested by server; consider upgrading MySQL client".
Heißt dass jetzt dass der Server dies nicht unterstützt? Kann man dass irgendwie umgehen? |
Re: BDES 2006 und externe mySQL Verbindung
Die Client-Bibliothek scheint nicht zur Serverversion zu passen.
|
Re: BDES 2006 und externe mySQL Verbindung
Hmm ok also liegt dies an der "libmySQL.dll" oder? Kann ich dieses problem irgendwie lößen?
vtl. hab ichs auch einfach falsch gemacht, so richtig?:
Delphi-Quellcode:
host := 'http://db.odin.hosting-agency.de';
user := 'username der db'; pass := 'passwort'; db := 'datenbankname'; |
Re: BDES 2006 und externe mySQL Verbindung
Lade dir einen neueren client herunter.
|
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
Danke für die schnelle antworten :D Edit: Hier die Überschrift von meiner mySQL datenbank vtl. hilft euch / dir etwas weiter: "Willkommen bei phpMyAdmin 2.6.2-pl1" "Verbunden mit MySQL 4.1.15-Debian_1-log auf localhost als datenbankname@localhost" Meine libmySQL.dll hat die Version 3.23.49 und die mySQL.pas die gleiche also auch 3.23.49 |
Re: BDES 2006 und externe mySQL Verbindung
|
Re: BDES 2006 und externe mySQL Verbindung
Tut mir echt leid, ich bin dir zwar seehr dankbar :D aber leider weis ich nicht welches der 5 verschiedenen downloads ich nehmen soll oder wo es hin kommt :D
Tut mir leid jedoch bin ich mit mySQL und Delphi noch nit so auf zack. |
Re: BDES 2006 und externe mySQL Verbindung
|
Re: BDES 2006 und externe mySQL Verbindung
Ok ich hab dass nun installiert und was bringt mir dass ganze nun? Es haben sich keine änderungen ergeben!
Thx im Vorraus... eLem3ntx / em3L |
Re: BDES 2006 und externe mySQL Verbindung
Liste der Anhänge anzeigen (Anzahl: 1)
Clients
|
Re: BDES 2006 und externe mySQL Verbindung
bei mir kommt immer ein "Access denied ...(Using PW)" was nach der mysql Doku entweder auf ein falsches Passwort schließen lässt oder der Server erlaubt keine externen Zugriffe.
Kann man die mysql Version ändern, auf dem Server läuft eine pre 4.1 oder nimmt der immer die aktuelle libmysql.dll? |
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
|
Re: BDES 2006 und externe mySQL Verbindung
Ok Leute danke habs hinbekommen musste den Client libmySQL41.dll umbenennen in libmySQL.dll und schon sagter verbindung hergestellt :D
Thx @ all eLem3ntx/em3L |
Re: BDES 2006 und externe mySQL Verbindung
Ich frage den Hoster lieber nicht, ich will keine schlafenden Pferde wecken :wink:
wenns nicht geht muss ich mir eine andere db suchen. Kann man mittels "Php info" die entsprechende Variableneinstellung sehen? |
Re: BDES 2006 und externe mySQL Verbindung
Zitat:
|
Re: BDES 2006 und externe mySQL Verbindung
So Leute also danke nochmals für eure hilfe nun geht wenigstens die Verbindung zur externen DB :D
Nun möchte ich doch gerne Datensätze auslesen und diese per showmessage ausgeben, habe dies auch nach dem Tutorial gemacht jedoch unterstreicht er immer ein paar dinge rot und lässt mich nicht compilen. Hat vtl. jemand den kompletten script? |
Re: BDES 2006 und externe mySQL Verbindung
Zeig mal deinen Code
|
Re: BDES 2006 und externe mySQL Verbindung
Ok also ich hab das jetzt behoben kann auch schon daten auslesen doch am Ende kommt immer ein Fehler von BDES dass es Zugriffsverletzungen in der libmySQL.dll gäbe. Doch hier mal der Script:
Delphi-Quellcode:
Und dann wäre da noch die Frage wie ich datensätze per Delphi einfügen kann, mach ich dass auch mit insert into?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, mySQL, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} //============================================================ type TdelphiEntry = record name: String; text: String; end; TdelphiEntries = Array of TdelphiEntry; //============================================================ procedure TForm1.Button1Click(Sender: TObject); var _myCon: PMySQL; host, user, pass, db: PChar; //============================================================ delphi: TdelphiEntries; _myRes: PMySQL_Res; _myRow: PMySQL_Row; i: Integer; query: PChar; //============================================================ begin host := 'http://db.odin.hosting-agency.de'; user := '*****'; pass := '*****'; db := '*****'; _myCon := mysql_init(nil); if _myCon = nil then begin ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren'); Exit; end; if mysql_real_connect(_myCon, host, user, pass, db, 3306, nil, 0) = nil then begin ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon)); Exit; end; ShowMessage('Verbindung hergestellt'); query := 'SELECT * FROM delphi ORDER BY id'; mysql_real_query(_myCon, query, Length(query)); _myRes := mysql_store_result(_myCon); if _myRes = nil then begin ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon)); Exit; end; SetLength(delphi, mysql_num_rows(_myRes)); for i := 0 to High(delphi) do begin _myRow := mysql_fetch_row(_myRes); delphi[i].name := _myRow[0]; delphi[i].text := _myRow[1]; showmessage(delphi[i].name); mysql_free_result(_myRes); mysql_close(_myCon); end; end; end. |
Re: BDES 2006 und externe mySQL Verbindung
Bei Access denied blockiert es der Provider, auf eine andere DB bin ich ohne Probs gekommen, nachdem ich die richtige lib hatte.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz