CRecordset mit m_nFields > 255
-
Ich muss über ODBC auf Daten eines ERP-Systems (MS SQL-Server 2008 R2) zugreifen. Eine Tabelle hat allerdings 268 Felder. Nun gibt es ja die Limitierung, dass m_nFields nur max. 255 sein darf.
Da ich nur lesend zugreife habe ich, um dies zu umgehen, aus meinem Recordset alle nicht benötigten Felder eliminiert und auch m_nFields entsprechend angepasst. Kann dieses Vorgehen irgendwelche Probleme generieren? Eine weitere Frage wäre: was macht man, wenn man schreibend drauf zugreifen will und ggf. auch alle Felder mit Werten füllen müsste? Geht das überhaupt über CRecordset oder muss man dann die ODBC-API nehmen?
Ich hab zumindest keinen Einfluss auf die Strukturen der Tabelle bzw. der Datenbank und kann da auch keine weiteren Abfragen weiter implementieren...
-
Es sollte möglich sein direkt SQL Befehle zur DB zu senden.
D.h. du formatierst deinen INSERT/UPDATE/... Befehl mit allen nötigen Spalten und schickst den an die DB.
-
hustbaer schrieb:
Es sollte möglich sein direkt SQL Befehle zur DB zu senden.
D.h. du formatierst deinen INSERT/UPDATE/... Befehl mit allen nötigen Spalten und schickst den an die DB.Bei Verwendung der ODBC-API sind ja meines Wissens keine Limitierungen. Die Zielsetzung war hier, alles über die Klasse CRecordset abzubilden, da andere Zugiffe auf andere Tabellen bereits so implementiert sind. Theoretisch kann man auch bei der Klasse CRecordset direkte SQL-Anweisungen übergeben. Aber ein simples Open und Close schlägt ja hier schon fehl.
Ich hab jetzt mit dem Assistenten eine Klasse erstellt und alle für mich nicht relevanten Felder auskommentiert und dann noch m_nFields entsprechend angepasst.