Autor Beitrag
Chris Maslowski
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 109



BeitragVerfasst: Fr 06.01.06 15:28 
Hallo,
da ich ja erst vor kurzem einen Thread hier geschrieben habe ist es mir ein bissl peinlich noch mal zu Fragen :oops:
Ich habe es endlich Geschaft den Datenbank quatsch in Delphi 7 PE einzubauen mittels MySQL Direct. Doch das Verbinden klappt nicht so ganz. Vielleicht könnte sich mal jemand den Quelltext angucken:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers;
  {$I mysqlinc.inc}

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  FMysql: TMysqlClient;   //Für den Datenbankzugriff
  FResult: TMysqlResult;  //Für die Statusabfrage und so
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FMysql := TMysqlClient.create; //FMysql wird hier erzeugt

  // Hier wird die Verbindung zur DB aufgebaut.
  FMysql.Host := 'http://www.web380.rionic.net';
  FMysql.user :='web380';
  FMysql.password := '';          //Die Zugangsdaten sind hier rausgebaut
                                  //um sie vor Missbrauch zu schützen
                                  //sie sind 100% Richtig
  FMysql.UnixSocket := '';
  FMysql.Db := 'usr_web380_3';
  FMysql.UseNamedPipe := false;   //Brauch ich das überhaupt?
  FMysql.UseSSL := false;         //oder das?
  FMysql.Compress := true;        //und was is hirmit?
  FMysql.TrySockets := false;     //und hiermit, das leuchtet mir alles net ein!
  if FMysql.Connect then
    ShowMessage('Verbindung aufgebaut')
  else
    ShowMessage('Fehler beim Verbinden: '+FMysql.LastError);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FMysql.Free;
  if FResult<>nil then
    FResult.free;
  //Fmysql wird hier beendet sobald das Programm geschlossen wird.
end;

end.


Bei mir wird immer Accesdenied angezeigt obwohl die Zugangsdaten 100%tig richtig sind!
fränk0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22

Windows XP Prof. SP2
Delphi 2006 Prof. (Win32)
BeitragVerfasst: Fr 06.01.06 15:37 
Der Provider erlaubt offensichtlich keinen Datenbankzugriff von aussen.

Ausserdem solltest du wenn es geht den Port für Mysql mit angeben:

FMsql.port: 3306;
stifflersmom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194

XP /XP PRO/ SuSE div.
D1 - D7, BDS 2006
BeitragVerfasst: Fr 06.01.06 16:18 
Wenn Dein Provider ein Login über SSH erlaubt,
könntest Du dich mit www.chiark.greenend.....uk/~sgtatham/putty/
auf Deinem Server einloggen, und mit einem Tunnel in Putty,
Dich doch mit Deinem My-sql Server verbinden, in dem Du in Deinem
Programm nicht mehr die Adresse Deines Servers benutzt,
sondern die von Putty, also localhost.

Moin
Chris Maslowski Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 109



BeitragVerfasst: Sa 07.01.06 11:56 
user profile iconfränk0815 hat folgendes geschrieben:
Der Provider erlaubt offensichtlich keinen Datenbankzugriff von aussen.


Jo genau daran hat's gelegen. Der Hoster hat den Zugriff von außen als Sicherheitsmaßnahme gesperrt. Jetzt klappt alles!