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.