Ich würde gerne verwenden. sql script aus einem gespeicherten proc so aufrufen ...
%Vor%Ich erhalte eine Fehlermeldung "test.sql konnte nicht geöffnet werden". "Fehler wenn ich es so führe. Ich habe es auch versucht! aber dann bekomme ich eine Erlaubnis verweigert Fehler. Allerdings kann ich das nicht beseitigen; oder das Ganze ist kaputt. Gibt es einen Weg dazu?
Was mache ich falsch?
Es gibt eine Reihe von Befehlen, die in den mysql-Client eingebaut sind. Sie sind unter " mysql
Befehle dokumentiert." Dazu gehören DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT usw.
Der Befehl \.
(oder SOURCE
) ist einer dieser Builtins. Sie können diese integrierten Befehle weder programmgesteuert noch in einer gespeicherten Prozedur ausführen.
Es wäre so, als würde man versuchen, eine eingebaute UNIX-Shell aus einem C-Programm mit execl()
auszuführen.
Eine andere Analogie könnte in einem Webbrowser sein, wo Sie spezielle Anfragen wie " about:
" eingeben können, die von der Browser-App selbst bearbeitet werden; Diese führen zu keiner HTTP-Anfrage an eine entfernte Website.
Es wäre auch nicht hilfreich, wenn Sie ein Skript aus einer gespeicherten Prozedur heraus beziehen könnten, da das Skript selbst wahrscheinlich eine Reihe von Befehlen enthält, die mysql-Client-Builtins sind und daher nicht vom gespeicherten proc ausgeführt werden können.
Siehe auch meine Antworten auf diese verwandten Fragen:
Tags und Links mysql scripting stored-procedures