AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Problem mit Umschalten der Verbindung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Umschalten der Verbindung

Ein Thema von Delbor · begonnen am 28. Jan 2016 · letzter Beitrag vom 29. Jan 2016
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Problem mit umschalten der Verbindund

  Alt 28. Jan 2016, 23:27
Hi Sir Rufo

Auch dir danke ich für deine Antwort.
Zitat:
Jede Verbindung zum Server ist eine eigene Session auf dem Server. Zu jeder Session gibt es Session-Variablen, die ich abfragen und auch setzen kann.
Trenne ich die Verbindung, dann wird auch die Session beendet und die gesetzen Werte der Session-Variablen gehen den gleichen Weg wie die Session -> ab ins Nirwana.
Genau deshalb verwende ich nur eine einzige Connection-Komponente. Die bewusste DB-Anwendung lief unter DelphiXE4 Pro und DBExpress problemlos.
Dann hab ich mir DelphiXE8 zugelegt - offensichtlich genau einen Tag, bevor Delphi Seattle erschien. Das heisst: die Version des MySQL-Servers, der unter DelphiXE8/DBExpress funktioniert hätte, war offenbar auch schon wieder Geschichte. Eine neue Version des MySql-Servers benötigtete ich, weil ich mir einen neuen Rechner (Win10 Pro/64) zugelegt hatte. Und da ich nun mit den DBExpress-Komponenten keine Verbindung zu MySQL mehr erhielt, entschloss ich mich, auf FireDac umzusteigen.
Erstmal habe ich sämtliche Express-Komponenten durch solche aus dem Firedac-Framework ersetzt. Dabei zeigten sich Probleme bei Prozeduren, die auf Serverfunktionen zugreifen.

Zitat:
select * from DBName1.TabName, DBName2.TabName
Bauminas Codeschnipsel ist mir nicht ganz unbekannt - es wäre auszutesten. Nachträglich fallen mir Beispiele von der MySQL-Seite ein, die vor Abfragen anderer Datenbanken erst mit use zu dieser wechseln. Solche Beispiele scheinen zumindest Bauminas Codeschnipsel zu widersprechen - es sei denn, der Server akzeptiert ein zweifaches use:
Delphi-Quellcode:
use DBName1;
use DBNAme2;
Das wäre in dieser Form aber die direkte Kommunikation mit dem Server über die Kommandozeile.

Zitat:
EDIT: Achso, bevor du FDConnectionMySQL.Params.Add machst, vielleicht sicherheitshalber vorher ein FDConnectionMySQL.Params.Clear machen.
Ja, wär' ja klug, wenn sich die Komponente ihre Parameter nicht so einfach überschreiben lässt.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Problem mit Umschalten der Verbindung

  Alt 29. Jan 2016, 09:55
Hi zusammen
Das Problem scheint ganz woanders zu liegen. ich hab das Params.Clear wie von Baumina vorgeschlagen, mal eingefügt. Das Resultaat war daselbe wie auf dem Eingangs gezeigten Anhang. Also hab ich in der entsprechenden Routine eine Zeile hinzugefügt, um eine zusätzliche Ausgabe auf dem Memo zu errreichen:
Delphi-Quellcode:
  CM_First.ProcedureReport.Add(' ');
  CM_First.ProcedureReport.Add('FUNCTION TFDMySQLDml.DefineContentmasterConnection');
  CM_First.ProcedureReport.Add('--------------------------------------------------');
  CM_First.ProcedureReport.Add('TFDMySQLDml.FDConnectionMySQL.Params.DriverID := '+ FDConnectionMySQL.Params.DriverID);
  CM_First.ProcedureReport.Add('TFDMySQLDml.FDConnectionMySQL.Params.Database := '+ FDConnectionMySQL.Params.Database);
  CM_First.ProcedureReport.Add('-------------------------------------------------------------------------------------'); //<= Neu
Das Ergebnis ist im Anhang ersichtlich.
Ursprünglich vermutete ich, das das Memo standardmässig über eine gewisse Beschränkung auzugebender Zeichen verfügt und habe deshalb Stringzuweisungen an die Liste, die zwischen den beiden Define-Funktionen erfolgen, deaktiviert. Allerdings hat das Memo die letzte Zeile trotzdem weiterhin verschluckt.
Zeilenweises durchsteppen der Routine ergab, das sämtliche Zeilen korrekt abgearbeite werden und auch diee Variablenbelegungen stimmen.
Da FDConnectionMySQL.Params und das Memo im Grunde beides Listen sind, sind deren beider Indexe nullbasiert - daran kanns also nicht liegen.

Gruss
Delbor
Angehängte Grafiken
Dateityp: png Reportliste 2.PNG (14,1 KB, 11x aufgerufen)
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (29. Jan 2016 um 10:09 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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-2025 by Thomas Breitkreuz