Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden? (https://www.delphipraxis.net/204768-welche-datenbank-u-im-cross-platform-umfeld-und-mit-nas-verwenden.html)

mkinzler 29. Jun 2020 17:30

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Das Forum scheint den Link zu verkürzen

Code:
http://docwiki.embarcadero.com/RADStudio/Rio/de/Herstellen_einer_Verbindung_zu_MySQL_Server_(FireDAC)

himitsu 29. Jun 2020 17:52

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Ja, die Auto-URL-Tag-Funktion des Forums schneidet immer bei der letzten Klammer ab, schon seit jahrzehnten :stupid:,
aber man kann es bearbeiten und braucht nur die ) vor das [/URL] zu verschieben,
oder man fügt das [URL]-Tag beim Erstellen selbst ein
oder beim Aufruf des Links die fehlende ) anhängen. :angle:


PS: Vorteil der größeren DSxxx+ war auch, dass der RAM nicht aufgelötet ist und man ihn erweitern kann,
was für größere Datenbanken bestimmt nicht schlecht wäre.

Harry Stahl 29. Jun 2020 18:06

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Also, ich habe versucht, das Beispiel für eine Verbindung zu einem MSSQL-Server auf eine MYSQL-Verbindung umzumünzen:

Delphi-Quellcode:
unit Unit2;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FireDAC.Stan.Def,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FireDAC.Phys.MySQLDef, FireDAC.Stan.Intf, FireDAC.Phys,
  FireDAC.Phys.MySQL, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Comp.Client,
  FMX.Controls.Presentation, FMX.StdCtrls, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.FMXUI.Wait, Data.DB;

type
  TForm2 = class(TForm)
    FDPhysMySQLDriverLink1: TFDPhysMySQLDriverLink;
    Button1: TButton;
    FDManager1: TFDManager;
    FDConnection1: TFDConnection;
    procedure Button1Click(Sender: TObject);
    procedure FDManager1AfterLoadConnectionDefFile(Sender: TObject);
    procedure FDPhysMySQLDriverLink1DriverCreated(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

 const
 cNameConnDef = 'MYSQL_Connection';

implementation

{$R *.fmx}

procedure TForm2.Button1Click(Sender: TObject);
begin
 var
  oDef: IFDStanConnectionDef;
  oParams: TFDPhysMySQLConnectionDefParams; // MSSQL connection params (Anm: umbenannt in MySQL)
 begin
  // Adding new persistent connection to fdconnectiondefs.ini
  FDManager.ConnectionDefs.AddConnectionDef;
  oDef := FDManager.ConnectionDefs.AddConnectionDef;
  oDef.Name := cNameConnDef;
  oParams := TFDPhysMSSQLConnectionDefParams(oDef.Params);
  oParams.DriverID := 'MYSQL'
  oParams.Database := 'Test';
  oParams.UserName := 'root';
  oParams.Password := 'XXXX';
  oParams.Server := '192.168.175.38';
  oParams.OSAuthent := false;
  oParams.MARS := false;
  oDef.MarkPersistent;
  oDef.Apply;
end;

end.
Beim Versuch das zu kompilieren kommt der Fehler "Oparams, undeclared idwentifiert (seltsam, steht doch in Var drin)?

Außerdem ist mir nicht ganz klar, was ich hier as username und passwort angeben muss, habe da eigentlich in der DB nichts vergleichbares erstellt.

Incocnito 30. Jun 2020 07:17

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Hi Harry,

ich konnte das so nicht kompilieren ...

Delphi-Quellcode:
 var
  oDef: IFDStanConnectionDef;
  oParams: TFDPhysMySQLConnectionDefParams; // MSSQL connection params (Anm: umbenannt in MySQL)
 const
  cNameConnDef = 'MYSQL_Connection'; // <- Nur zum schnellen Testen hier rein geschoben
 begin
  // Adding new persistent connection to fdconnectiondefs.ini
  FDManager.ConnectionDefs.AddConnectionDef;
  oDef := FDManager.ConnectionDefs.AddConnectionDef;
  oDef.Name := cNameConnDef;
  oParams := TFDPhysMySQLConnectionDefParams(oDef.Params); // <- TFDPhysMSSQLConnectionDefParams, oder TFDPhysMySQLConnectionDefParams?
  oParams.DriverID := 'MYSQL'; // <- Semikolon vergessen?
  oParams.Database := 'Test';
  oParams.UserName := 'root';
  oParams.Password := 'XXXX';
  oParams.Server := '192.168.175.38';
  //oParams.OSAuthent := false; // <- Kein Plan, kennt er nicht
  //oParams.MARS := false; // <- Kein Plan, kennt er nicht
  oDef.MarkPersistent;
  oDef.Apply;
end;
... so schon ...

MfG
Incocnito

Uwe Raabe 30. Jun 2020 09:12

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Da war noch ein
Delphi-Quellcode:
begin
vor dem
Delphi-Quellcode:
var
- und das lassen neuere Delphi Versionen ja zu. Allerdings muss dann das
Delphi-Quellcode:
var
vor jeder Variablen stehen. Deswegen wird das freistehende oParams hier bemängelt.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
 var
  oDef: IFDStanConnectionDef;
  oParams: TFDPhysMySQLConnectionDefParams; // MSSQL connection params (Anm: umbenannt in MySQL)

Rollo62 30. Jun 2020 11:40

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
@Harry
Du könntest auch erstmal mit einem Tool versuchen drauf zuzugreifen, von einem PC aus.
Ich denke mit HeidiSQL sollte das gehen.

mikhal 1. Jul 2020 06:49

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Hast du deiner MySQL / MariaDb die Erlaubnis erteilt, über TCP zu verbinden?

Ohne diese Erlaubnis scheitert jeder Verbindungsversuch von externen Maschinen. In meiner Konstellation (DS416Play, MariaDb 10, UniDAC von Devart und 10.3 CE) funktioniert der Zugriff einwandfrei.

Grüße
Mikhal

Gandalf2265 1. Jul 2020 22:20

AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468503)

Außerdem ist mir nicht ganz klar, was ich hier as username und passwort angeben muss, habe da eigentlich in der DB nichts vergleichbares erstellt.


Der Standard-Admin-Accout eines MySQL-Datenbankservers ist der Benutzer root.
Als du den Datenbankserver installiert hast, wurde eventuell ein Passwort für den root-Benutzer abgefragt. Wenn der keines hat, ist der Server ja offen.
Mit einem Managementprogramm (ich verwende gerne DBeaver) kannst du dich dann an dem MySQL-Server als Benutzer root anmelden und eigene Benutzer anlegen (Und vor allem root per Passwort schützen!!!)
Den Benutzern kannst du spezifische Berechtigungen an den Datenbanken geben. Somit hast du dann auch einen Benutzernamen und ein Passwort für deine Connection.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Seite 5 von 5   « Erste     345   

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