GESPEICHERTE PROZEDUR nicht vorhanden ist
Ich erstellen gespeicherte Prozedur von mysql-client-terminal und alles ist OK.
Aber wenn ich versuche zu nennen, bekomme ich diese Fehlermeldung:
ERROR 1305 (42000): VERFAHREN XXX nicht vorhanden ist
Nach, dass ich versuche, um es wieder zu schaffen ohne
DROP PROCEDURE IF EXISTS
Aussage und ich bekomme diese:
FEHLER 1304 (42000): VERFAHREN XXX existiert bereits
Was ist falsch?
*DAS PROBLEM WAR, DASS MEINE DATENBANK MIT PUNKT (.) IN DEM NAMEN *
*BEISPIEL: "Ort.db' -> DAS IST FALSCH NAMEN DER MYSQL-DATENBANK UND KANN NICHT FINDEN, VORGEHENSWEISE !!!*
Da Sie nicht zeigen, die tatsächliche code, der verwendet wird, um die Prozedur aufzurufen, oder den code verwendet, um zu fallen, es ist ziemlich schwer für jemanden, um zu helfen.
Sie können nicht buchstabieren "XXX". Das ist mein glaube, bis Sie uns zeigen, einige aktuelle code 🙂
Sie haben einen client wie SQL Developer oder Toad, um sicherzustellen, dass die gespeicherte Prozedur beendet wird nach deinem Anruf, um es zu schaffen. Verwenden Sie Skripte aus einer Datei ausführen Ihrer Logik oder geben Sie sql-Befehle direkt. Wir ened ein paar mehr details, bevor diese aufgelöst werden können. Wenn Sie die Skript-Dateien sind Ihrem schema Besitzer der gleiche ist wie meiner haben mehr Zugriffsrechte als die andere.
Hast du dir schon mal funktioniert? Ich habe versucht, die Flucht meiner DB-name mit backticks, aber es ist noch zu sagen, dass die Prozedur nicht vorhanden ist.
Wie es sich herausstellt, es ist ein Problem mit meinem (alten) MySql-version: bugs.mysql.com/bug.php?id=61078 Wir sind entweder zu upgrade-Versionen (bevorzugt), oder umbenennen der DB, je nachdem, was wir fühlen, ist ein kleiner Schmerz in den Arsch.
Sie können nicht buchstabieren "XXX". Das ist mein glaube, bis Sie uns zeigen, einige aktuelle code 🙂
Sie haben einen client wie SQL Developer oder Toad, um sicherzustellen, dass die gespeicherte Prozedur beendet wird nach deinem Anruf, um es zu schaffen. Verwenden Sie Skripte aus einer Datei ausführen Ihrer Logik oder geben Sie sql-Befehle direkt. Wir ened ein paar mehr details, bevor diese aufgelöst werden können. Wenn Sie die Skript-Dateien sind Ihrem schema Besitzer der gleiche ist wie meiner haben mehr Zugriffsrechte als die andere.
Hast du dir schon mal funktioniert? Ich habe versucht, die Flucht meiner DB-name mit backticks, aber es ist noch zu sagen, dass die Prozedur nicht vorhanden ist.
Wie es sich herausstellt, es ist ein Problem mit meinem (alten) MySql-version: bugs.mysql.com/bug.php?id=61078 Wir sind entweder zu upgrade-Versionen (bevorzugt), oder umbenennen der DB, je nachdem, was wir fühlen, ist ein kleiner Schmerz in den Arsch.
InformationsquelleAutor Faraona | 2011-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eventuell haben Sie Probleme mit der Konsistenz der system-Datenbanken, die nach einem fehlerhaften upgrade oder sowas.
Was sind die Ergebnisse für
InformationsquelleAutor burnall
Wenn Sie definieren Verfahren, mit dem mysql-client
Sie könnte mit root-Benutzer (oder Benutzer A).
Chancen sind Sie mit einem anderen Benutzer zum aufrufen der gespeicherten Prozedur,
lassen Sie uns sagte, Benutzer B, könnte es verursacht einige Unterschiede auf, die Privilegien
Wenn dies der Fall ist, können Sie den Zugriff gewähren rechts
Zum anzeigen der aktuellen Berechtigungen Sie können Gebrauch machen von diesem Befehl
Für beide Fälle? Bitte geben Sie Ihre Prozedur speichern, könnte es das problem sein, wo ist gelogen
InformationsquelleAutor ajreal