Einzelnen Beitrag anzeigen

cb01

Registriert seit: 4. Okt 2006
17 Beiträge
 
Turbo Delphi für Win32
 
#1

SQL Verbindung klappt nicht...

  Alt 14. Dez 2006, 17:41
Datenbank: MySQL • Version: 4.1.10a • Zugriff über: Direkt per Unit
Hi,

nach dem ich nun eine passende libMySQL.dll gefunden habe, wollte ich nun anfangen, aber leider habe gleich wieder ein Problem, das Programm versucht zwar eine Verbindung aufzubauen, aber dann kriege ich immer folgende Meldung:

http://test.vs184078.vserver.de/temp/error.jpg

Hier noch der Quelltext:

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, mysql, StdCtrls ;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  _myCon: PMySQL; //unseren Verbindungsdeskriptor
  host, user, pass, db: PChar; //die Anmeldedaten
begin

//wir werden uns als Root-Benutzer in localhost einloggen, ohne eine
  //bestimmte Datenbank auszuwählen
  host := 'IP-Adresse/Hostname';
  user := 'Username';
  pass := 'Passwort';
  db := 'Datenbank';
 
  //jetzt wird _myCon initialisiert
  _myCon := mysql_init(nil);
  if _myCon = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;
 
  //anschließend wird die Verbindung hergestellt
  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');
 
  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(_myCon);
end;

end.
Der Datenbankserver ist ein Suse Linux 9.3 System...
Die Logindaten sind korrekt...hat jemand eine Idee woran diese Meldung liegen könnte?

Gruß

Chris
  Mit Zitat antworten Zitat