Insert into openquery from local-DB

ny_unity

SQL-Guru
Beiträge
185
Juten Tach! :)

Lange bin ich ohne eure Hilfe zu Recht gekommen, aber jetzt bin ich wieder an einem Punkt, wo ich nicht weiter komme.

Ich arbeite auf einem SQL Server 2016, dort habe ich einen linked Server zu einem MySQL Server (eine Tabelle) eingerichtet, Treiber ist logischerweise ODBC.

Ich möchte jetzt Daten aus meiner MSSQL Tabelle in die MySQL Tabelle importieren. Mein vereinfachtes SQL sieht so aus:
Code:
INSERT OPENQUERY (MYSQL_BEWERTUNG, 'SELECT PERSONALNR, EINSATZSART, KUNDENNR FROM tb_bewertung')
SELECT    b.PERSONALNR, b.DATUMVON, b.KUNDENNR
FROM ext_bewertungen b

Ich erhalte die Ausgabe, das es erfolreich war und 132 Dazensätze verarbeitet wurden. Wenn ich mir dann direkt die MySQL Tabelle ansehe über phpmyadmin beispielsweise, dann sehe ich die neuen Datensätze nicht.

Frage ich die Tabelle über den MS SQL Server mit
Code:
SELECT PERSONALNR, EINSATZSART, KUNDENNR FROM OPENQUERY(MYSQL_BEWERTUNG, 
                'SELECT PERSONALNR, EINSATZSART, KUNDENNR FROM tb_bewertung') order by 1;
ab, sehe ich die Datensätze.

Kann mir jemand sagen wieso und weshalb? ._.

Vielen Dank!

Erik
 
Werbung:
Ich vermute hier mal ganz stark ein Problem im PHP myAdmin, kannst du mal einen anderen Client nur mit mysql verbinden und verifizieren das die Daten da sind?
 
daran habe ich auch schon gedacht....

Habe noch eine direkte Verbindung ohne phpMyadmin...

Hier nochmal anders dargestellt:
Code:
INSERT OPENQUERY (MYSQL_BEWERTUNG, 'SELECT PERSONALNR FROM tb_bewertung')
SELECT    b.PERSONALNR
FROM ext_bewertungen b
WHERE b.PERSONALNR = 10037
Ergebnis: (3 Zeilen betroffen)

dann direkte Verbindung zur MySQL Tabelle:
Code:
SELECT
   ID,
   PERSONALNR
FROM
   tb_bewertung
WHERE 
   (PERSONALNR = '10037')
Ergebnis:
ID PERSONALNR
2 10037
120 10037

nur zwei Zeilen...die schon vorher vorhanden waren (siehe ID). die ID ist auto_incr
 
ich habe gerade mal den "rückwätstest" gemacht.... wenn ich einen Wert is MySQL ändere und dann im MS SQL abfrage, bekomme ich keine Änderung angezeigt... im obigen beispiel habe ich den Namen des Mitarbeiters mit der NUmmer 10037 geändert. Bei der Abfrage im MSSQL steht trotzdem der alte Name da... :-/
 
Wenn ich im phpmyAdmin Werte ändere, bekomme ich diese nicht im SQL server angezeigt, aber mit einer anderen Software die auch die Verbindung nutzt, bekomme ich es angezeigt...

ich habe dem Datenbankadmin eine E-Mail geschrieben, ob ich denn auf der richtigen Datenbank bin :-D
 
Werbung:
*closed*
Der externe Webhoster wo die MySQL Tabelle liegt, hat einen neuen Server und die IT hat schon den linked Server angepasst, ich habe noch nicht alle E-Mails nach meinem Urlaub gelesen, hätte ich mal machen sollen :-D

Danke für die Hilfe.
 
Zurück
Oben