ODBC Verbindung zu MYSQL funktioniert beim Einrichten nicht
Guten Tag,
versuche gerade von meinem PC eine ODBC Testverbindung zu meinem Server (bei 1und1) aufzubauen
habe dazu mysql connector runtergeladen und installiert
dann wollte ich bei ODBC Datenquellen einen neuen connnector einrichten
wenn ich dort den Server von 1und1 eintrage port 3306 denUsername der DB und das Passwort der DB bekomme ich die Meldung
connection failed HY000 Driver UNKNWON Mysql server host ....
Lieben Gruss
Marten
versuche gerade von meinem PC eine ODBC Testverbindung zu meinem Server (bei 1und1) aufzubauen
habe dazu mysql connector runtergeladen und installiert
dann wollte ich bei ODBC Datenquellen einen neuen connnector einrichten
wenn ich dort den Server von 1und1 eintrage port 3306 denUsername der DB und das Passwort der DB bekomme ich die Meldung
connection failed HY000 Driver UNKNWON Mysql server host ....
Lieben Gruss
Marten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 463870
Url: https://administrator.de/forum/odbc-verbindung-zu-mysql-funktioniert-beim-einrichten-nicht-463870.html
Ausgedruckt am: 02.04.2025 um 11:04 Uhr
23 Kommentare
Neuester Kommentar
wenn ich dort den Server von 1und1 eintrage port 3306 denUsername der DB und das Passwort der DB bekomme ich die Meldung
connection failed HY000 Driver UNKNWON Mysql server host
connection failed HY000 Driver UNKNWON Mysql server host
Im Normalfall sind MySQL-Instanzen bei Hostern so konfiguriert, dass ausschließlich der zugehörige Webserver darauf zugreifen darf. Verbindungsversuche aus dem restlichen Internet werden geblockt.
Du wirst also schauen müssen ob 1&1 entsprechende Möglichkeiten anbietet MySQL auch von sonstwo her verbinden zu können. Den Server für die ganze Welt zu öffnen halte ich aber für keine gute Idee. Zumindest solltest du es so einrichten, dass er nur von deiner (festen) IP erreichbar ist oder am besten dir eine Möglichkeit schaffen dich per VPN zum Server zu verbinden.
Alles andere wäre Fahrlässig.
Manuel
Evtl. reicht es im phpmyadmin einen neuen Benutzer zu erstellen, der als Hostname ein % beinhaltet, um von Extern Zugriff zu erhalten.
Die Hoffnung stirbt zuletzt...
Ich traue Hostern viel zu, aber bei einem der großen - 1&1 gehört da definitiv dazu - ist mit Sicherheit nicht per Default MySQL für das gesamte Internet offen.
habt ihr vielleicht noch eine andere Idee als mit CSV
Vielleicht erklärst du zuerst mal, was mit den Daten in den beiden DBn überhaupt passieren soll und was der Hintergrund ist.
Ganz entscheidend ist m.E. die Frage, ob du deine Daten nur einmal in diese DB bringen musst, weil die sich danach nicht mehr ändern nur noch lesend darauf zugegriffen wird oder ob permanent Änderungen an den Daten in der Access-DB stattfinden die dann irgendwie zur MySQL-DB übertragen werden müssen.
Lass dir doch nicht alles extra aus der Nase ziehen...
Ich vermute jetzt mal, die Daten die im Büro in der Access-DB bearbeitet werden sollen sofort oder ohne großen Zeitversatz in der MySQL-DB vorhanden sein, damit sie von dort aus über irgendwelche Scripte als Kalender oder what ever per Webseite angezeigt werden können. Richtig?
Und da ich jetzt keine Lust mehr auf "Rate mal mit Rosenthal" habe: Schildere bitte komplett was du vor hast und was das Ziel sein soll, oder ich bin raus.
Ich vermute jetzt mal, die Daten die im Büro in der Access-DB bearbeitet werden sollen sofort oder ohne großen Zeitversatz in der MySQL-DB vorhanden sein, damit sie von dort aus über irgendwelche Scripte als Kalender oder what ever per Webseite angezeigt werden können. Richtig?
Und da ich jetzt keine Lust mehr auf "Rate mal mit Rosenthal" habe: Schildere bitte komplett was du vor hast und was das Ziel sein soll, oder ich bin raus.
Besser als nichts.
Damit ist ja schon mal klar, dass der Webserver per PHP nur die Belegungsdaten aus der DB lesen muss um sie dann aufzubereiten. Somit musst du schon mal nur vom Büro zum Webserver einen Abgleich ausführen und nicht auch noch in Gegenrichtung.
Ich würde das wie folgt angehen:
In den relevanten Tabellen bekommen alle (auch zukünftige) Datensätze ein zusätzliches Feld in dem eine UID enthalten ist und ein Feld in dem die letzte Änderung eines Datensatzes festgehalten wird, sowie eine Spalte in der festgehalten wird, dass ein Datensatz überhaupt bearbeitet wurde. Dazu muss man dann über Access die Datenbank entsprechend bearbeiten und erweitern. Die MySQL-DB bekommt ebenfalls die relevanten Tabellen mit identischem Aufbau.
Um die Daten vom Büro zum Webserver abzugleichen brauchst du dann nur noch ein Script das (bspw. per ODBC) in den relvanten Tabellen der Access-DB nach geänderten Datensätzen sucht. VBA geht natürlich aus, dann braucht man kein ODBC. Die zurückgelieferten Daten werden Datensatz für Datensatz an ein PHP-Script übergeben das dann das UPDATE des jeweiligen Datensatzes in der MySQL-DB ausführt. Nachdem jeder einzelne Datensatz übertragen wurde muss in der Access-DB das "geändert Flag" natürlich zurückgesetzt werden.
Wie aktuell die Daten in der MySQL-DB sind hängt dann nur noch davon ab, wie oft das Script den Abgleich durchführt und wie lange es für einen kompletten Durchlauf braucht.
Alternativ kannst du auch alle geänderten Datensätze in eine Daten schreiben und diese mit einem Script per POST an ein PHP-Script auf deinem Webspace übergeben. Nachdem das PHP-Script die Datei bekommen und gespeichert hat muss es dann die Daten aus der Datei einlesen und damit die UPDATEs in der MySQL-DB machen.
Letzteres ist insgesamt schneller aber auch etwas aufwendiger zu schreiben.
Manuel
Damit ist ja schon mal klar, dass der Webserver per PHP nur die Belegungsdaten aus der DB lesen muss um sie dann aufzubereiten. Somit musst du schon mal nur vom Büro zum Webserver einen Abgleich ausführen und nicht auch noch in Gegenrichtung.
Ich würde das wie folgt angehen:
In den relevanten Tabellen bekommen alle (auch zukünftige) Datensätze ein zusätzliches Feld in dem eine UID enthalten ist und ein Feld in dem die letzte Änderung eines Datensatzes festgehalten wird, sowie eine Spalte in der festgehalten wird, dass ein Datensatz überhaupt bearbeitet wurde. Dazu muss man dann über Access die Datenbank entsprechend bearbeiten und erweitern. Die MySQL-DB bekommt ebenfalls die relevanten Tabellen mit identischem Aufbau.
Um die Daten vom Büro zum Webserver abzugleichen brauchst du dann nur noch ein Script das (bspw. per ODBC) in den relvanten Tabellen der Access-DB nach geänderten Datensätzen sucht. VBA geht natürlich aus, dann braucht man kein ODBC. Die zurückgelieferten Daten werden Datensatz für Datensatz an ein PHP-Script übergeben das dann das UPDATE des jeweiligen Datensatzes in der MySQL-DB ausführt. Nachdem jeder einzelne Datensatz übertragen wurde muss in der Access-DB das "geändert Flag" natürlich zurückgesetzt werden.
Wie aktuell die Daten in der MySQL-DB sind hängt dann nur noch davon ab, wie oft das Script den Abgleich durchführt und wie lange es für einen kompletten Durchlauf braucht.
Alternativ kannst du auch alle geänderten Datensätze in eine Daten schreiben und diese mit einem Script per POST an ein PHP-Script auf deinem Webspace übergeben. Nachdem das PHP-Script die Datei bekommen und gespeichert hat muss es dann die Daten aus der Datei einlesen und damit die UPDATEs in der MySQL-DB machen.
Letzteres ist insgesamt schneller aber auch etwas aufwendiger zu schreiben.
Manuel
wie würdest du es denn anstellen, dass die Tabelle aus der Access Anwendung auf den Server kommt
Schrieb ich bereits
Um die Daten vom Büro zum Webserver abzugleichen brauchst du dann nur noch ein Script das (bspw. per ODBC) in den relvanten Tabellen der Access-DB nach geänderten Datensätzen sucht. VBA geht natürlich aus, dann braucht man kein ODBC. Die zurückgelieferten Daten werden Datensatz für Datensatz an ein PHP-Script übergeben das dann das UPDATE des jeweiligen Datensatzes in der MySQL-DB ausführt. Nachdem jeder einzelne Datensatz übertragen wurde muss in der Access-DB das "geändert Flag" natürlich zurückgesetzt werden.