Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Fehler bei DB-Zugriff mit ZEOS (https://www.delphipraxis.net/124141-fehler-bei-db-zugriff-mit-zeos.html)

khh 15. Nov 2008 12:48

Datenbank: mysql • Version: 5 • Zugriff über: ZEOS

Fehler bei DB-Zugriff mit ZEOS
 
hallo zusammen,
ich habe eine db-Verbindung und diverse DB-Abfragen.
Jetzt habe ich die mysql-DB kopiert und ihr einen anderen Namen gegeben.
Sprich die Datenbanken sind von Struktur und Inhalt identisch.
DB-Server ist auch der gleiche.
Beim Zugriff auf die "alte" DB funktioniert alles tadellos.
Beim Versuch eine Query auf die "neue" db auszuführen bekomme ich eine exception:
SQL-Error: Tabelle "datenbankname.datenbankname" existiert nicht.


gebe ich danach in den verbindungsdaten wieder die alten Werte ein, funktioniert alles wieder:-(

Ich habe keine Ahnung wo ich den Fehler suchen soll.


hat jemand von euch ne idee?


EDIT: vor allem würde ich gerne wissen, woher bzw wieso er den datenbanknamen als tabellennamen sieht :-(
Danke Gruss Kh

mkinzler 15. Nov 2008 12:51

Re: Fehler bei DB-Zugriff mit ZEOS
 
Was meinst du mit kopiert? Verwaltungsdb auch angepasst?

haentschman 15. Nov 2008 12:52

Re: Fehler bei DB-Zugriff mit ZEOS
 
Hallo...

aus der Hüfte geschossen: :wink:

- Schreibfehler bei Namen / Ordner
- beim Kopieren der Datenbank was vergessen ?

:gruebel: bei Firebird besteht die Datenbank aus einer Datei...bei MySQL war das wenn ich mich entsinne nicht so einfach eine Kopie der Datenbank anzulegen.

DeddyH 15. Nov 2008 12:59

Re: Fehler bei DB-Zugriff mit ZEOS
 
IIRC gibt es bei MySQL den Ordner "data", da sind die Datenbanken drin.

khh 15. Nov 2008 13:03

Re: Fehler bei DB-Zugriff mit ZEOS
 
Zitat:

Zitat von mkinzler
Was meinst du mit kopiert? Verwaltungsdb auch angepasst?


naja ich habe mit Hilfe von phpmyadmin die db kopiert und dem Nutzer der alten Datenbank die zusätzlichen rechte auf die neue db gegeben.

Die Verbindungsdaten die ich aus einem Filestream lese, habe ich entsprechend geändert.
Der Fehler tritt aber nicht schon bei der Verbindung auf, sondern erst beim ersten sql-statement :-(


Gruss KH

khh 15. Nov 2008 13:06

Re: Fehler bei DB-Zugriff mit ZEOS
 
Zitat:

Zitat von haentschman
Hallo...

aus der Hüfte geschossen: :wink:

- Schreibfehler bei Namen / Ordner
- beim Kopieren der Datenbank was vergessen ?

:gruebel: bei Firebird besteht die Datenbank aus einer Datei...bei MySQL war das wenn ich mich entsinne nicht so einfach eine Kopie der Datenbank anzulegen.


ich denke das ist mit phpmyadmin kein problem.
hab das in Verbindung mit php programmen schon oft so praktiziert.


Gruss KH

haentschman 15. Nov 2008 13:23

Re: Fehler bei DB-Zugriff mit ZEOS
 
...nun ja, ich bezog kopieren auf das einfache hin und herschieben ohne Tools. :wink:

khh 15. Nov 2008 13:51

Re: Fehler bei DB-Zugriff mit ZEOS
 
Zitat:

Zitat von haentschman
...nun ja, ich bezog kopieren auf das einfache hin und herschieben ohne Tools. :wink:

:wink:


ich hab mal zum Test die Verbindungsdaten nicht aus dem Filestream gelesen sonden direkt ins Programm geschrieben.

So funktionierts :-(

Scheint also ein Fehler im Filestream zu sein, wobei ich mich dann frage, warum die Verbindung überhaupt zu stande kommt?


Gruss KH

mkinzler 15. Nov 2008 13:52

Re: Fehler bei DB-Zugriff mit ZEOS
 
Wie meinst du das mit dem FileStream?

khh 15. Nov 2008 14:17

Re: Fehler bei DB-Zugriff mit ZEOS
 
Zitat:

Zitat von mkinzler
Wie meinst du das mit dem FileStream?

problem gelöst!

Wie gesagt hatte ich die _ersten_ Zugangsdaten per :

Mydata.WriteBuffer(verbindungsdaten, SizeOf(TVerbindungsdaten)); in einen Filestream geschrieben und per

Mydata.ReadBuffer(Verbindungsdaten, SizeOf(TVerbindungsdaten)); wieder ausgelesen und der Zconnection zugewiesen.


die neuen Zugangsdaten( war ja nur die geänderte DB) hatte ich mit einem Hex-Editor im File geändert.
Die Grösse des File wurde dabei nicht verändert.


Ich verstehe zwar noch nicht warum das nicht geht, aber nachdem ich die neuen daten jetzt per :

Mydata.WriteBuffer(verbindungsdaten, SizeOf(TVerbindungsdaten)) ins file geschrieben hatte funktionierte es wieder.

Vieleicht kann mich jemand aufklären warum man das "Streamfile" nicht händisch bearbeiten kann?


Gruss KH


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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