![]() |
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)
|
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. |
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:
Beim Versuch das zu kompilieren kommt der Fehler "Oparams, undeclared idwentifiert (seltsam, steht doch in Var drin)?
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. 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. |
AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
Hi Harry,
ich konnte das so nicht kompilieren ...
Delphi-Quellcode:
... so schon ...
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; MfG Incocnito |
AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
Da war noch ein
Delphi-Quellcode:
vor dem
begin
Delphi-Quellcode:
- und das lassen neuere Delphi Versionen ja zu. Allerdings muss dann das
var
Delphi-Quellcode:
vor jeder Variablen stehen. Deswegen wird das freistehende oParams hier bemängelt.
var
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin var oDef: IFDStanConnectionDef; oParams: TFDPhysMySQLConnectionDefParams; // MSSQL connection params (Anm: umbenannt in MySQL) |
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 ![]() |
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 |
AW: Welche Datenbank u.a. im Cross-platform Umfeld und mit NAS verwenden?
Zitat:
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 04:25 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 by Thomas Breitkreuz