Serear Geschrieben 15. Februar 2016 Geschrieben 15. Februar 2016 (bearbeitet) Guten Tag zusammen, ich bin relativ neu in der c++ Welt und stoße leider gerade auf ein Problem das ich mit meinem aktuellen Know-How nicht lösen kann. Folgendes SQL-Statement holt einen Datumswert als Char convertiert select to_char(datumsfeld, 'dd.mm.yyyy hh24:mi:ss') Datum from table Folgender C++ Code soll dieses Statement absetzen und in einer Schleife das Datum ausgeben namespace oc = oracle::occi; oc::Environment* env = oc::Environment::createEnvironment(); oc::Connection* conn = env->createConnection("User", "***", "SID"); oc::Statement* stmt = conn->createStatement("select to_char(datumsfeld, 'dd.mm.yyyy hh24:mi:ss) Datum from table"); // execution oc::ResultSet* res = stmt->executeQuery(); while (res->next()) { std::cout << " " << res->getString(1)<< std::endl; } Folgende Fehlermeldung wird geschmissen: Debug Assertion Failed! Programm: ... }heal\debug_heap.cpp Expression: _CrtIsValidHeapPointer(block) Diese Meldung kann ich dann mit "Abbrechen", "Wiederholen" oder "Ignorieren" quittieren. Weiter läuft das Programm natürlich dennoch nicht. Was mich nun total verwundert, das Datum wird dennoch im richtigen Format in die Konsole geschrieben. Siehe Anhang. Über eine Antwort würde ich mich sehr freuen. Vielen Dank im Voraus. Mfg Bearbeitet 15. Februar 2016 von Serear Zitieren
Klotzkopp Geschrieben 15. Februar 2016 Geschrieben 15. Februar 2016 Welche Version von Visual Studio, welche Version von occi? Serear reagierte darauf 1 Zitieren
Serear Geschrieben 15. Februar 2016 Autor Geschrieben 15. Februar 2016 Mahlzeit, folgende Versionen der Anwendungen sind installiert. MS Visual Studio Express 2015 Windows Desktop. Oracle Client 11.2.01 32Bit. Mfg Zitieren
Klotzkopp Geschrieben 15. Februar 2016 Geschrieben 15. Februar 2016 Laut https://docs.oracle.com/database/121/NTCLI/pre_install.htm#NTCLI1244 unterstützt OCCI im Moment maximal VS2013. Serear reagierte darauf 1 Zitieren
Serear Geschrieben 15. Februar 2016 Autor Geschrieben 15. Februar 2016 Das könnte schon die Lösung des Problems sein, ich werde es mal ausprobieren. Erstmal vielen Dank. Zitieren
Serear Geschrieben 17. Februar 2016 Autor Geschrieben 17. Februar 2016 Mahlzeit, habe das ganze nun unter MS Visual Studio C++ 2010 Express laufen lassen. Fehlermeldung: Debug Assertion Failed! Programm:... exe File:...stc\dbgdel.cpp Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) Wieder rum wird das Datum richtig in die Konsole geschrieben. Mfg Zitieren
Klotzkopp Geschrieben 17. Februar 2016 Geschrieben 17. Februar 2016 Hast du sicher die zu VS2010 passende Version von OCCI installiert? Hast du VS2010 Service Pack 1 installiert? Serear reagierte darauf 1 Zitieren
Serear Geschrieben 17. Februar 2016 Autor Geschrieben 17. Februar 2016 (bearbeitet) Hey, VS2010 Service Pack 1 habe ich gerade installiert. Die passende Version OCCI sollte installiert sein. ( Visual C++10 (VS 2010)[Windows 32-bit]) Oracle Client Version ist 11.2 32Bit. Benutzen tu ich die occi.lib unter VC10 ? Ist doch richtig oder ? Mfg Bearbeitet 17. Februar 2016 von Serear Zitieren
Serear Geschrieben 17. Februar 2016 Autor Geschrieben 17. Februar 2016 vor 33 Minuten schrieb Serear: Hey, VS2010 Service Pack 1 habe ich gerade installiert. Die passende Version OCCI sollte installiert sein. ( Visual C++10 (VS 2010)[Windows 32-bit]) Oracle Client Version ist 11.2 32Bit. Benutzen tu ich die occi.lib unter VC10 ? Ist doch richtig oder ? Mfg Habe mir das Readme der VC10 nochmal durchgelesen Zitat 4) Ensure that %ORACLE_HOME%\oci\lib\msvc\vc10 is first in the PATH when running the application. Nach dem ich das getan habe, bekomme ich nun folgende Fehlermeldung Zitat Der Prozedureinsprungpunkt "OCIPHeapAllocUc" wurde in der DLL "OCI.dll" nicht gefunden. Zitieren
Serear Geschrieben 29. März 2016 Autor Geschrieben 29. März 2016 Hab das Thema ein bisschen Ruhen lassen. Habe heute die Erkenntnis gewonnen das die Fehlermeldung Zitat Der Prozedureinsprungpunkt "OCIPHeapAllocUc" wurde in der DLL "OCI.dll" nicht gefunden. nur im Visual C++ 2010 Express beim debuggen kommt. Starte ich die .exe im "Visual Studio 2010\Projects\ProjektName\Debug" Ordner läuft das ganze ohne Probleme durch. Ideen ? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.