Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » C++ - Oracle Dbconnect

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
09.01.2004, 14:45 Uhr
ai-tee



Hi ihrs,

ich hatte schon einen ähnlichen Thread im WinApi Bereich, aber net sauer werden, ich denke nun da war ich falsch.

Am besten erstmal die Spezifikation:

Ich möchte in einer Oracledatenbank den Inhalt einer Tabelle komplett löschen (DELETE FROM <table> und anschließend neue Datensätze per loop einfügen.

Ich habe mir nun viel durchgelesen und es scheint ja einige Möglichkeiten zu geben. Von vorgefertigten Bibos über irgendwelche externen Programme ... Embedded SQL, etc.

Doch ich denke der Aufwand ist immer viel zu hoch.

Meine Frage nun gibt es nicht eine Methode bei der ich sagen wir 20 Zeilen Code benötige? (Aufwand/Nutzen *achselzuck)

Ich möchte nicht nur um 2 Befehle auszuführen noch 4000 Zeilen Code durch irgendwelche Dateien oder was mit ins Programm bringen.

Nochmal die Daten:

Sys: Win (Winnt,2k)
DB: Oracle (8.1.6)
Lang: ANSI C++
Tool: Microsoft Visual C++ 6.0

Achja und wenn ihr was mit Präcompiler sagt ... wo kriege ich einen her?

Vielen Dank schonmal
--
Greetz, ai`tee

Dieser Post wurde am 09.01.2004 um 14:53 Uhr von ai-tee editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.01.2004, 14:51 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Achja und wenn ihr was mit Präcompiler sagt ... wo kriege ich einen her?


also wenn ich jetzt nicht völlig falsch liege...

der präcompiler ist das teil was (wie der name schon sagt) vor dem compiler über den quellcode gejagt wird und ersetzungen macht...
den brauchst du dir nicht besorgen der ist im compiler mit enthalten

um mal ein beispiel zu machen

C++:
#define abcd 1


nachdem der präkompiler über deinen quellcode gejagt ist steht überall vorher ein abcd stand jetzt ne 1....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.01.2004, 14:52 Uhr
ai-tee



Hmm nein glaub ich nicht.
Das Präcompiler (falls es das ist was ich meine) ist doch Datenbankspezifisch ... dass kann doch nicht alles im VC++ mit integriert sein ... oder?

Btw. hab noch ein Topic gefunden welches so irgendwie passt ... soll ich da Anknüpfen?

www.fun-soft.de/showtopic.php?threadid=2552
--
Greetz, ai`tee

Dieser Post wurde am 09.01.2004 um 14:54 Uhr von ai-tee editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.01.2004, 17:29 Uhr
(un)wissender
Niveauwart


Präcompiler brauchst du, wenn du statische SQL verwendendest (direkt im Quellcode), weil der C++-Compiler das nicht kennt.
Normalerweise nutzt man aber dynamic SQL. Da kannst die Statement als string zur Laufzeit absetzen. statement = db.createConnection(); statement.exc("SELECT FROM ...");
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.01.2004, 11:53 Uhr
ai-tee



Ahhja das ja genial
Hast Du noch mal mehr Anweisungen oder irgendwelche Referenzen wo ich das nachblättern kann?

db.createConnection () ? Wie leg ich denn da die DB Details fest?

Was DB angeht hab ich in C/C++ echt Null Ahnung :/
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.01.2004, 13:05 Uhr
ai-tee



Hmm,

ich habe nun nachgelesen, dass man dyn. SQL nur verwenden sollte, wenn die Table Colums, etc. erst zur Laufzeit bekannt werden ... und das ist bei mir nicht der Fall ... nicht grade die feine Art, oder?
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.01.2004, 13:23 Uhr
ai-tee



Also ich habe was gefunden über CDatabase ... man man es gibt echt zig Möglichkeiten ... was ist denn nun das beste?
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.01.2004, 16:53 Uhr
ai-tee



Sagt mal wisst ihr irgendwas über die ODBC Treiber? Ich kriegs mit den Microsoft for Oracle Treibern nicht hin ...


C++:
CString        dbConnect = "";
bool             foundWidget = false;
CDatabase    DBModis;

dbConnect = "ODBC;DSN=xxx;UID=xxx;PWD=xxx";
    
DBModis.OpenEx (dbConnect,CDatabase::openReadOnly | CDatabase::noOdbcDialog);
cout << "db open" << endl;
DBModis.Close ();


--
Greetz, ai`tee

Dieser Post wurde am 12.01.2004 um 16:54 Uhr von ai-tee editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.01.2004, 19:40 Uhr
(un)wissender
Niveauwart


Ich weiß nicht, ob du es getan hast, aber es muss eine Datenbankinstanz eingerichtet sein, mit UID und PWD.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.01.2004, 09:55 Uhr
RHBaum




Zitat:

ich hatte schon einen ähnlichen Thread im WinApi Bereich


Naja, hier gehoert es aber auch ned her ... ned wirklich :p

Wobei nen Datenbankspez. Forum sicher ned schlecht waer ! :p

Zu deinem Oracle Problem ....
Es gibt eigentlich mehrere moeglichkeiten, auf ne Ora DB zuzugreifen ...

Oracle hat nen C-Interface ... OCI ... das kommuniziert direkt ueber den TCP/IP Stack mit der DB, ohne irgendwas dazwischen ... Schnell, ressourcenfreundlich, sehr spezifisch. Gibts dafuer fuer mehrere Plattformen.

Windows stellt allgemeine Schnittstellen fuer Datenbanken zur verfuegung, die das Handling stark vereinfachen und generalisieren ... und Oracle liefert die passenden Treiber zu.

ODBC - zum besipiel. Nimmt man, wenn man viel Datenbank-Connection parameter umkonfigurieren muss, weil mit ODBC lassen sich per DSN sowas wie Profile benutzerspezifisch speichern ... mit ODBC selber kannst noch ned viel anfangen, brauchst noch was, was darauf aufsetzt. MFC hat direkt unterstuetzung dafuer ... ADODB auch.

ADODB - die ActiveX Schnittstelle, nicht nur fuer C++.

Ueberleg dir erst mal, wie drauf zugreifen willst ... solltest dich fuer eine moeglichkeit entscheiden ... mehrere parallel fahren macht ned viel sinn.


DBModis ... Modis heisst das "Projekt" ... dunkler Schatten legt sich auf meine Erinnerungen ...

Ciao ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: