Ich habe in Microsoft SQL Server 2008 R2 SP1 einen Verbindungsserver über ODBC auf eine MySQL Datenbank eingerichtet. ODBC-Treiber: MySQL ODBC 5.2a auf Betriebssystem Microsoft Windows Server 2008 R2 64bit
Abfragen laufen eigentlich einwandfrei. Auch Inserts und „normale“ Updates.
Probleme macht nur ein Update von BLOB Daten. Dort sind Bilder gespeichert.
Anfangs hat es mal funktioniert, aber als es mehr Daten wurden nicht mehr. Ich habe daraufhin die Update-Anweisung begrenzt. Ich kann nun einstellen, ob er nur ein Bild speichern soll oder mehr. Inzwischen funktioniert es nicht mal mehr mit einem Bild.
Die Tabelle hat zur Zeit ca. 2540 Einträge.
Davon sind 142 Einträge, bei denen das BLOB-Feld
BILD = NULL
ist
Aufbau MySQL Tabelle:
ID int not null Primary Key
ARTIKEL int
BILD blob
MySQL ODBC
http://vvcap.net/db/uXBos_1v0Sm4qk-lA6SD.png
Einstellung MSD
http://vvcap.net/db/sL7rhNPvh3PDfJknwWuM.png
Einstellung Verbindungsserver (in MSSQL)
http://vvcap.net/db/_Y9d5Xq70GmzsCcBor5k.png
Hier die SQL-Anweisung
update shop...EXTERN\_BILDER
set BILD = (select b.BILD from INTERN\_BILDER b where b.ID = EXTERN\_BILDER.ID)
where (BILD is null) AND (ID in (select ID from \_temp\_ID))
Ich habe schon im where-Teil
select ID from \_temp\_ID
geschrieben (eine temporäre Tabelle mit den ID’s)
anstatt wie anfangs dort auch noch ein Unterabfrage auf die externe BILDER-Tabelle zu machen.
Als Fehler bekomme ich dies:
Der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'shop' hat die Meldung
'Die zum Aktualisieren angegebene Zeile wurde nicht gefunden.
Einige Werte wurden seit dem letzten Lesen ggf. geändert.' zurückgeben.
Meldung 7343, Ebene 16, Status 4, Zeile 2
Der OLE DB-Anbieter 'MSDASQL' für den Verbindungsserver 'shop'
konnte UPDATE für die [shop]...[EXTERN\_BILDER]-Tabelle nicht
ausführen. Für das Rowset wurde vollständige Parallelität verwendet,
und der Wert einer Spalte wurde geändert, nachdem die betreffende
Zeile zuletzt abgerufen oder neu synchronisiert wurde.
Suche seit Tagen schon im Internet, habe aber nicht gefunden, was mich weiter bringt.
Vielleicht ist ja hier jemand, der was weiß.
Oder mich auf eine andere Hilfe-Quelle bringt.
Danke.
Gruß Thomas