Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

Console.png

Bearbeitet von Serear

  • Autor

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

  • Autor

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 von Serear

  • Autor
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.

 

  • 1 Monat später...
  • Autor

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 ?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.