C++ und Oracle
-
Hallo,
habe ein Problem:Habe auf meinen Win2000 Rechner MS Visual C++6.0 und Oracle 9i installiert.
Nun möchte ich aus meinen C-Programm mittels eingebetteten SQL-Anweisungen Zugriff auf meine Oracle-Datenbank nehmen.
Anmeldung:strncpy ((char*)username.arr, "blablabla",20);
username.len= strlen ((char*) username.arr);
strncpy ((char*)password.arr, "blabla",10);
password.len= strlen ((char*) password.arr);da fängt der Compiler schon an mit heulen: "arr" sowie "len" muß eine Klassee/Struktur/Union sein
dann bei dem Aufruf des Präprozessors mir EXEC SQL : "EXEC nicht deklarierter Bezeichner" und so weiter.Habe unter Oracle den Präprozessor RRO*C++9.2.0.1.0 installiert.
Muß ich noch was installieren/konfigurieren/fehlen mir Bibliotheken oder Headerdateien?
Kann mir jemand weiterhelfen... vielleicht mit einen kleinen Beispiel um eine Tabelle zu ertstellen oder ähnliches?vielen Dank
-
Hallo,
von was üfr einem Typ ist den username? EinPointer auf eine Klasse/Struktur?Versuch's mal mit username->arr
und username->len .Gruss,
Qweety.
-
username und password sind als char deklariert.
im oberen Quelltext werden ihne Werte ( blablabla und blabla) übergeben.
die Anmeldung an die Datenbank sieht dann so aus:EXEC SQL CONNECT :username IDENTIFIED BY :password;
das weiß ich aus Büchern, aber das funktioniert bei mir irgendwie alles nicht so richtig!
-
strncpy ((char*)username.arr, "blablabla",20); username.len= strlen ((char*) username.arr); strncpy ((char*)password.arr, "blabla",10); password.len= strlen ((char*) password.arr);
Hallo nochmal,
also ich lese da "username.arr". Dann kann aber doch username kein char sein .
also username sieht mindestens so aus:{ char* arr; int len; }
und ist entweder ein struct oder einer Klasseninstanz.
[EDIT] Das gleiche gilt für password. [/EDIT]
Gruss,
Qweety.[ Dieser Beitrag wurde am 22.05.2003 um 14:57 Uhr von Qweety editiert. ]
-
Schuldigung, hab noch mal nachgeschaut:
varchar username[20];
varchar password[10];so stehts im Beispiel...denke das sind sog. Hostvariablen
-
Hallo nochmal,
varchar klingt verdächtig nach irgendwas Datenbankspezifischem ... das wird wahrscheinlich genausowenig zum C++-Standard gehören, wie meine dynamischen Libs . varchar kommt bei Oracle (vielleicht auch bei anderen DBs als Feldtyp vor.Aber hast Du dast mit dem -> mal versucht? Denn die Fehlermeldung
da fängt der Compiler schon an mit heulen: "arr" sowie "len" muß eine Klasse/Struktur/Union sein
klingt irgendwie danach.
Sorry, wenn ich Dir sonst nicht gross weiterhelfen kann ... ich arbeite zwar auch mit Oracle, aber die Datenbankzugriffschicht hat bei uns jemand anders verbrochen .
Vielleicht weiss ja noch jemand anderes was dazu.
Good Luck,
Qweety.