AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ZDO bring fehler bei verbinden zu mysql
Thema durchsuchen
Ansicht
Themen-Optionen

ZDO bring fehler bei verbinden zu mysql

Ein Thema von HaZe · begonnen am 11. Nov 2004 · letzter Beitrag vom 11. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#1

ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 12:28
Hi

folgendes problem, also ich versuch per ZDO-komponente daten von meiner mysql db abzurufen, wenn ich das programm starte dann bekomm ich folgende fehlermeldung
Zitat:
Im Projekt Projekt1.exe ist eine Exception der Klasse EZSQLException aufgetreten: SQL-ERROR 'NO ACCESS FOR USER ODBC@localhost' (using password: NO). Prozess wurde angehalt....
ich werde in der datei 'ZDbcMySqlUtils.pas'
raise EZSQLException.CreateWithCode(ErrorCode, verwiesen. also mach ich weiter mit der restlichen routine, dann wieder ein fehler
Zitat:
SQL-Error: Access denied for user 'ODBC@localhost'(using password: NO);
so dann auf ok, und die daten werde doch abgerufen, ich versteh nicht ganz was der fehler soll, ich hab schon mysql geupdate, habs auch über meinen linux server versucht immer die selbe fehlermeldung, sowie gegoogelt aber erfolglos .


persönlich kann ich kein fehler finden

MfG und Danke

HaZe

PS.: Quellcode hängt an
Angehängte Dateien
Dateityp: txt mmstats.txt (7,3 KB, 5x aufgerufen)
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 12:33
Hai HaZe,

sei doch bitte so nett und hänge den Quellcode als Anhang an ein Posting. Bei solch überlangen Codeblöcken muss man ja sonst endlos scrollen.

Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#3

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 12:36
Also grundsätzlich ist die Anwtort doch eindeutig

Zitat:
Im Projekt Projekt1.exe ist eine Exception der Klasse EZSQLException aufgetreten: SQL-ERROR 'NO ACCESS FOR USER ODBC@localhost' (using password: NO). Prozess wurde angehalt....
Der User "ODBC" darf nicht auf die Datenbank zugreifen.

Dafür gibt es eigentlich nur 5 Gründe:
  • der User existiert gar nicht im DB-System
  • die Userdaten wurden falsch eingegeben
  • der User darf nicht lokal zugreifen, oder
  • der User darf nicht von extern zugreifen
  • das verschlüsselte PW ist falsch. Hintergrund: mit den neuen Version von mysql wurde der Verschlüsselungsmechanismus geändert. Zeos kennt den noch nicht, ABER Du hast die Möglichkeit mit der Option OLD_PASSWORD ein PW nach altem Schema zu hinterlegen (falls Du den USer neu angelegt hast) - das Problem hatte ich nach einem Update nämlich auch

Gruß Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#4

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 12:46
@Igotcha

also ich hab noch den vorgänger von mmstats hier, mit dem kann ich ohne probleme auf die datenbank zugreifen.
ja der user ODBC gibts nicht, aber gebe ja die anweisung das er sie von mysqlform holen soll.
Angehängte Dateien
Dateityp: pas mmstats-vorgaenger.pas (6,2 KB, 1x aufgerufen)
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#5

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 13:03
Zitat von HaZe:
@Igotcha
ja der user ODBC gibts nicht, aber gebe ja die anweisung das er sie von mysqlform holen soll.
Wat ist dat

Sagt mir jetzt nicht viel, was mysqlform ist und was heißt "holen soll"? Der User "ODBC" muss der mysql-DB bekannt sein.

Ich vermute mal folgendes. Du hast ein DB-Tool mit dem Du als user "root" zugreifst und dem Du wahrscheinlich kein PW hinterlegt hast. Da funktioniert auch alles weiter so.

Du kannst das leicht erkennen, da die "alten" Passwörter in mysql.user so aussehen "3dfbade655a80898" - die neuen haben ein "*" vorangestellt.

Mach mal folgendes:

Code:
UPDATE mysql.user SET password=OLD_PASSWORD('DasPasswort') WHERE user='ODBC'
Gruß Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#6

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 13:12
Zitat:
Sagt mir jetzt nicht viel, was mysqlform ist und was heißt "holen soll"? Der User "ODBC" muss der mysql-DB bekannt sein.
also ich weis nicht wo er den user ODBC herholt, normal hab ich meine mysqldaten in der form MYSQLFORM
siehe da
Delphi-Quellcode:
  mysqlform.SQLHost.Text := ReadString('mysql', 'ip', '');
  mysqlform.SQLPwd.Text := ReadString('mysql', 'pass', '');
  mysqlform.SQLUser.Text := ReadString('mysql', 'user', '');
  mysqlform.SQLDB.Text := ReadString('mysql', 'dbname', '');
und hier wird zugewiesen
Delphi-Quellcode:
      dbMain.Hostname := mysqlform.SQLHost.Text;
      dbMain.user := mysqlform.SQLUser.Text;
      dbMain.Password := mysqlform.SQLPwd.Text;
      dbMain.Database := mysqlform.SQLDB.Text;
      dbMain.Connected := true;
Zitat:
Ich vermute mal folgendes. Du hast ein DB-Tool mit dem Du als user "root" zugreifst und dem Du wahrscheinlich kein PW hinterlegt hast. Da funktioniert auch alles weiter so.
Also ich hab mehere user hier, mit keinen komm ich drauf egal mit pwd oder ohne, ich bekomme nur zugriff mit der alten version von mmstats, was ja eigendlicb dann auch nicht gehn dürfte oder ?


MfG

HaZe
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#7

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 13:22
Zitat von HaZe:
also ich weis nicht wo er den user ODBC herholt, normal hab ich meine mysqldaten in der form MYSQLFORM
siehe da...
So, stop und mal langsam

Das sieht doch so aus, als ob die Daten aus einer INI-Datei geholt werden. Das ist ja auch ok so.

Das Problem ist mysql. Dort wurde in der neuesten Version der Hashmechanismus zum Verschlüsseln der Passwörter geändert. Sprich: Wenn Du heute mit einem bekannten Passwort auf die Datenbank zugreifen möchtest, dann hasht er das Passwort mit dem neuen Verfahren, welches natürlich ein anderes Ergebnis liefert, als das in der DB hinterlegte. Die Zeos-Komponenten kennen und können das neue Verfahren noch nicht.

Deshalb musst Du in Deiner Datenbank in "mysql", in der Tabelle "user" alle Passwörter anpassen, wie ich es oben gesagt habe.

Alternativ könntest Du auch nur das Root-Passwort ändern und änderst bei allen Abfragen in Deinem Programm, wo ein Passwort verwendet wird die entsprechende WHERE-Bedingung ab:

Code:
statt...
WHERE pass='password' nun
WHERE pass=OLD_PASSWORD('password')
Gruß Igotcha

P.S. Versuche Dich doch mal wie folgt direkt auf der Kommandozeile einzuloggen:

C:\mysql\bin>mysql -u ODBC -pALTESPASSWORT
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#8

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 13:32
also ich benutz MYSQL-Administator ich hab use old passwords benutz, aber leider hat sich nichts geändert
hmmm soll ich mal zeobs deinstallieren ? vielleicht liegts ja daran
aber es is noch eine frage offen wo holt er den user ODBC her, ich habs ihm nie gesagt und ich find auch nix wos gesagt wird
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#9

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 14:07
Zitat von HaZe:
aber es is noch eine frage offen wo holt er den user ODBC her, ich habs ihm nie gesagt und ich find auch nix wos gesagt wird
Ist das denn Dein Programm? Wenn ja, solltest Du das wissen

Grundsätzlich gilt: Keine User/Passwort-Kombination kann auf die mysql-Datenbank zugreifen, wenn diese der DB nicht bekannt ist. Im Klartext heisst das, dass nur die User zugreifen dürfen, die in der Tabelle "user" der Datenbank "mysql" (ja, sie heisst so) aufgeführt sind.

So, dann schaust Du jetzt mal am besten mit Deinem Tool nach, wer und was in dieser Tabelle aufgeführt ist.

Gruß Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#10

Re: ZDO bring fehler bei verbinden zu mysql

  Alt 11. Nov 2004, 16:21
also es war ein fehler im quellcode und nicht so wie du es sagst das es an der table von mysql liegt, hättest vielleicht den quellcode anschauen sollen, dann hättest du es vielleicht gesehn das es nicht an mysql liegt


cya
HaZe
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:47 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