Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verbindung zu einer externen Sql-Datenbank (https://www.delphipraxis.net/34128-verbindung-zu-einer-externen-sql-datenbank.html)

c4t 17. Nov 2004 20:38


Verbindung zu einer externen Sql-Datenbank
 
Hallo liebe Dp'ler,

ich als Grünschnabel bin heute einige Datenbank-Tutorials durchgegangen und dabei natürlich auch auf SQL gestoßen.

Dabei wollte ich folgendes als "Anfangsübung" realisieren:

Ich wollte ein Programm schreiben, welches sich per Knopfdruck mit der Sql-Datenbank von meinem Webspaceserver verbindet. Beim Ausprobieren kam jedoch sofort die Nachricht, dass ich dazu nicht genügend Rechte habe und eine Verbindung so nicht möglich ist.

Nun meine Frage: Geht das so gar nicht, wie ich es mir vorstelle? Kann man auf so eine Webspace-SQL-Datenbank nur serverseitig zugreifen, also so wie man es mit Hilfe von PHP beim Erstellen von Webseiten macht? Oder fehlt mir einfach noch was?

Hier mein verwendeter Code:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers, StdCtrls;
  {$I mysqlinc.inc}
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
        FMysql: TMysqlClient;
        FResult: TMysqlResult;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FMysql := TMysqlClient.create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FMysql.Free;
  if FResult<>nil then
    FResult.free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
// Eigenschaften setzen
  FMysql.Host := 'http://www.thecat.info';
  FMysql.port := 3306;
  FMysql.user :='web70';
  FMysql.password := '*******'; // mein SQL-PW
  FMysql.UnixSocket := '';
  FMysql.Db := 'usr_web70_29'; // Datenbank auf dem Server
  FMysql.UseNamedPipe := false;
  FMysql.UseSSL := false;
  FMysql.Compress := true;
  FMysql.TrySockets := false;
  if FMysql.Connect then
    ShowMessage('Verbindung aufgebaut')
  else
    ShowMessage('Fehler beim Verbinden: '+FMysql.LastError);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if FMysql.Connected then
    FMysql.close
  else
    ShowMessage('Nicht verbunden!');
end;

end.
Ich bitte mich für diese wahrscheinlich etwas blöde Frage nicht gleich zu erschlagen. Ich versichere ehrlich versucht zu haben, die Antwort mit Hilfe der Suche hier im Forum zu finden :angel: .

Danke für die Antworten.

Gruß

c4t

skullcrusher 21. Nov 2004 20:11

Re: Verbindung zu einer externen Sql-Datenbank
 
Hallo !

Also das ist jetzt mal ein absoluter Schuss ins Blaue.
Aber vielleicht bringt es ja was falls möglich den Zugriff auf
Readonly zu beschränken. Falls das möglich ist....

Falls das nichts bringt oder völlig daneben ist einfach ignorieren.... :-D

Stephan

CenBells 22. Nov 2004 00:25

Re: Verbindung zu einer externen Sql-Datenbank
 
Zitat:

Zitat von c4t
Ich wollte ein Programm schreiben, welches sich per Knopfdruck mit der Sql-Datenbank von meinem Webspaceserver verbindet. Beim Ausprobieren kam jedoch sofort die Nachricht, dass ich dazu nicht genügend Rechte habe und eine Verbindung so nicht möglich ist.

Nun meine Frage: Geht das so gar nicht, wie ich es mir vorstelle? Kann man auf so eine Webspace-SQL-Datenbank nur serverseitig zugreifen, also so wie man es mit Hilfe von PHP beim Erstellen von Webseiten macht? Oder fehlt mir einfach noch was?

Hi,

Du hast recht. Es geht nicht. Die meisten Webhoster erlauben den Zugriff auf MySQL-DBs nicht von extern. Daher wirst du keine Möglichkeit haben, dich mit dem MySQLServer deines Hosters zu verbinden.
Lade dir doch einfach MySQL runter und installier es lokal oder nimm gleich Firebird.

Gruß
Ken

Jelly 22. Nov 2004 10:17

Re: Verbindung zu einer externen Sql-Datenbank
 
Zitat:

Zitat von CenBells
Du hast recht. Es geht nicht. Die meisten Webhoster erlauben den Zugriff auf MySQL-DBs nicht von extern.

Das kann man so pauschal nicht sagen. Wenn uns c4t mal seinen Provider nennt, kann man nähere Auskünfte geben.

@c4t
[/delphi]FMysql.Host := 'http://www.thecat.info';[/delphi]
geht wahrscheinlich sowieso nicht... Probier mal einfach mit
[/delphi]FMysql.Host := 'www.thecat.info';[/delphi]
Wenns dann auch noch nicht klappt, liegst womöglich wirklich am Provider. Aber vielleicht kannst du auch im Administrationspanel deines Providers genau diesen Sachverhalt selbst bestimmen. Das hatt ich nämlich auch schon.

Gruß,


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz