Beim Laden von Daten in CAS (Cloud Analytic Services) über eine ODBC-Schnittstelle, insbesondere aus Datenbanken wie MySQL, kann ein blockierender Fehler im Zusammenhang mit der Verwaltung variabler Datenpuffer auftreten.
Dieser Artikel analysiert die Ursachen dieser Fehlfunktion und das Verfahren zu ihrer Behebung.
Das typische Szenario ist wie folgt: Sie verwenden PROC CASUTIL, um eine Tabelle aus einer externen Quelle zu laden, die über einen ODBC-DSN (in odbc.ini) definiert ist.
Ihr Code sieht wie folgt aus:
Anstatt die Tabelle zu laden, wird die Ausführung unterbrochen und das Protokoll zeigt die folgende Meldung an:
Sie könnten an ein Konfigurationsproblem mit der SAS©/ACCESS to ODBC-Schnittstelle oder einen Fehler in der odbc.ini-Datei denken, aber die Ursache liegt tiefer.
Dieser Fehler ist das Ergebnis eines identifizierten Fehlers in der Verwaltung bestimmter gemischter Datentypen durch die CAS-Engine während der Aufnahme.
Das Problem tritt speziell auf, wenn die Struktur Ihrer Quelltabelle zwei genaue Merkmale kombiniert:
Das Vorhandensein von großen Objekten des Typs BLOB (Binary Large Object) oder CLOB (Character Large Object).
Das Vorhandensein eines leeren oder Null-Wertes (NULL) in derselben Zeile für eine Spalte des Typs VARCHAR oder VARBINARY.
Genau diese Kombination (Large Object + Null Varchar) führt zu einem Überlauf des zugewiesenen Pufferspeichers.
Leider gibt es keine funktionale Umgehung (Workaround) auf der Ebene des SAS©-Codes oder der ODBC-Konfiguration, um diesen Fehler zu vermeiden, wenn Ihre Daten die oben genannten Kriterien erfüllen.
Die Lösung erfordert zwingend ein Software-Update (Hot Fix).
Lösungsverfahren
Korrektur identifizieren: Die Korrektur befindet sich im Update des Systempakets sas©-tkcdfts.x86_64.
Support kontaktieren: Es wird empfohlen, ein Ticket beim technischen Support von SAS© zu eröffnen, um das Problem zu melden. Dies ermöglicht es Ihnen, offiziell über die Verfügbarkeit der Korrektur für Ihre spezifische Version benachrichtigt zu werden und Ihre Umgebung mit dem identifizierten Softwarefehler zu verknüpfen.
Update anwenden: Sobald die Korrektur verfügbar ist, wird die Installation der aktualisierten Version des oben genannten Pakets den Pufferfehler endgültig beheben.