Problem bei IRowset::GetData
-
Hallo zusammen,
habe ein Problem beim auslesen der Daten aus einer MsSql Datenbank. Die Verbindung mit der MsSql über OLEDB klappt einwandfrei, und wenn ich z.B. eine Anfrage wie:
SELECT [Name] ,[Vorname] FROM [props].[dbo].[table_01]
reinschicke bekomme ich auch alle Daten so wie ich es mir vorstelle. Mein Problem ist nun das wenn ich folgenden SQL-Query reinschicke :
SELECT [TABLE_NAME] FROM [props].INFORMATION_SCHEMA.TABLES WHERE TABLE_CATALOG = 'props'
Ich eine gültige iRowSet zurück erhalte. Die Daten auch die richtige Anzahl an Zeilen hat und der Spaltenname erkannt und ausgelesen wird. Allerding erhalte ich einen Fehler beim auslesen der Zeile in folgender Zeile
// ... hr = pIRowset->GetData(hRows[j], myHAccessor, puffer); // ...
Dort erhalte ich den Fehler 'DB_E_ERRORSOCCURRED'. Bin im Moment etwas ratlos woran das liegen kann. Vorallem weil z.B. obrige Abfrage (oder auch andere) funktionieren.
Vielleicht hat jemand einen Anreiz was das Problem sein könnte....
Mfg
Ollow
-
Stimmt der Datentyp, den Du zoordnest.
BTW: Es ist einfach die Schema Daten mit einem ATL-DB-Client Code auszuleseen.
-
Hallo,
jap der Datentype wird erkannt und richtig zugeordnet das ist (war) nicht das Problem.
Habe ein ReleaseRows() das vor dem aufruf von GetData() ausgeführt wurde herrausgenommen, und Release erst nach dem auslesen der Zeile.
Es ist für mich zwar immernoch ein Rätsel wieso andere Query's funktionieren weil bei diesen der ReleaseRows() an selber stelle auch ausgeführt wurde. Und ich ohne Probleme ein vollständiges Ergebnis erhielt.
Allerdings funktioniert es jetzt, aber besten dank für die Antwort...