Zum Inhalt springen

Alex_winf01

Mitglieder
  • Gesamte Inhalte

    620
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    1

Alle Inhalte von Alex_winf01

  1. Ich bin gerade dabei, die Tabellen in Oracle einzupflegen. Dabei habe ich folgendes Problem: CREATE TABLE tabelle1 ( nummer varchar(10) NOT NULL, Jahr Numeric(4) NOT NULL, nummer2 varchar(9) NOT NULL, Primary Key(nummer, Jahr, nummer2) ); CREATE TABLE IGFALL ( kh_id varchar(9) NOT NULL, kd_jahr Numeric(4) NOT NULL, fa_id Numeric(6) NOT NULL, PRIMARY KEY (kh_id, kd_jahr, fa_id), FOREIGN KEY (kh_id, kd_jahr) REFERENCES IK_Ueberleitung (nummer, jahr), ); Nun bekomme ich folgenden Fehler: ORA-02270: kein entsprechender Primär- o. eindeutiger Schlüssel für diese Spaltenliste. Und es ist die Spalte nummer angegeben. Woran kann das liegen? Danke schon mal für die Hilfe.
  2. Habs mit dem Kollegen abgesprochen. Wir benennen die Spalte anders.
  3. Hat sich erledigt. Habs hinbekommen. Ich habe da aber noch eine andere Frage: 21_Testdaten als Spaltenname knallt mir um die Ohren. Schluckt Oracle keine Zahlen im Bezeichner für Spaltennamen?
  4. @ flashpixx Danke für Deine Antwort. Ich habe jetzt nur folgendes Problem: CREATE TABLE Test ( ID VARCHAR(10) NOT NULL, wahrheit char(1), wahrheit2 char(1) CHECK(wahrheit IN ('Y', 'N')) CHECK(wahrheit IN ('Y', 'N')) ); Oracle lässt es nicht zu, dass ich zwei Spalten mit einem Check bearbeite. Ich benötige aber BEIDE Spalten als eine Art "boolean". Ist eine Vorgabe vom Kunden.
  5. Hallo liebe Forengemeinde, ich hänge gerade an einem dicken Problem: CREATE TABLE Test ( ID VARCHAR(10) NOT NULL, wahrheit boolean, Primary Key(ID) ); Nun fliegt mir die Zeile mit dem boolean um die Ohren, da Oracle an sich keinen boolean kennt. Nun brauche ich aber einen boolean. Ich weiss, dass es in PL/SQL den Datentyp boolean gibt. Wie kann ich das über PL/SQL in die CREATE TABLE-Anweisung einbauen? Und noch eine Info: Nein, es soll kein char oder varchar, der dann die Werte true und false aufnimmt sein. Und es soll auch nicht das als Number(1) verwendet werden, wo ich dann 0 oder 1 als boolean nehme. Wie kann ich das umsetzen? Ein Kollege möchte das mit dem char/varchar bzw. mit dem Number auf keinen Fall.
  6. Ich muss für mein Unternehmen eine vorhandene Datei so umformatieren, damit diese in die bereits vorhandene Oracle-Datenbank eingelesen werden kann. Aber was hat diese Frage bette schön mit meinem Problem zu tun? - Nichts.:floet: Könnten wir wieder zu meinem Problem kommen? Ansonsten kann man die ganze Diskussion abhacken.
  7. @ Klotzkopp Danke für den Hinweis. Ich brauch nun mal Hilfe. Kannst du mir nicht weiterhelfen? Würdest Du notfalls über PN mir weiterhelfen?
  8. @ all vielen Dank schon mal für eure Hilfe. Ich bin nun ein Schritt weiter (was die Theorie und mein Programm angeht). Mein Code sieht wie folgt aus: #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { FILE *datei = fopen("Datei1.csv", "r"); FILE *datei_neu = fopen("Datei2.csv", "w+"); char line [1000]; int i; char ch; char *sep; if(datei_neu == NULL) { printf("Fehler"); } if (datei != NULL) { while (fgets(line, sizeof line, datei)) { // Dieser Bereich kümmert sich darum, dass der Punkt übersprungen wird int c, i, j; char erg[10]; for(i=0, j=strlen(line)-1; i < j;i++, j--) { if (line[i]=='.') { line[i]='\0' ; } } fputs("76", datei_neu); fputs(line, datei_neu); } } else { printf("Fehler"); } fclose(datei); fclose(datei_neu); return 0; } Nun habe ich das Problem, dass in der 1. Datei folgendes steht: ZE01.01;ZE01.01;89-563;Beschreibung Text1; ZE02;zE02;555-89;Beschreibung Text2; Der erste String soll nun so umformatiert werden: 76ZE0101. Der zweite nicht. Ich vermute mal, ich muss line in Teilstrings zerlegen, array[0] umformatieren und dann array[] in datei_neu speichern muss, oder?
  9. Zu Deiner ersten Frage: Kommt ganz auf die Prüfungsordnung der Hochschule an. Es werden nur Leistungen anerkannt, die vom Umfang und Inhalt den entsprechenden Prüfungen entsprechen. Das muss man im Prüfungsamt der jeweiligen Hochschule erfragen. Zu Deiner zweiten Frage: Für das Bafög ist das jeweilige Studentenwerk der Hochschule zuständig. Dort bekommt man auch die entsprechenden Antragsformulare. Im Bereich Versicherungen ist die Krankenversicherung die wichtigste. Ohne Krankenversicherung keine Imatrikulation. Du musst eine Krankenversicherung bei der Einschreibung nachweisen. Wenn Du unter 25 bist, bist Du während Deines Studiums familienversichert. Eine entsprechende Bescheinigung stellt Deine Krankenversicherung aus. Bist Du über 25, benötigst Du eine studentische Pflichtversicherung. Die kostet nicht viel und wird bis auf ein paar Euro (ich glaube bis auf 5 €) in Deinem Bafög-Satz mit eingerechnet. Auch hier ist der Ansprechpartner Deine Krankenversicherung.
  10. Ich möchte Werte aus einer Datei direkt in ein Array speichern (C-Programmierung). Ich habe an so was gedacht: char str[] = "text1;text2;text3;text4"; char delims[] = ";"; char a[500]; char *result = NULL; result = strtok( str, delims ); while( result != NULL ) { for(i = 0; i < result[result(line)-1]; i++) a[i] = result; result = strtok( NULL, delims ); } Leider funzt das nicht so wie ich das möchte. Könnt ihr mir helfen? ich möchte sozusagen text1 auf a[0], text2 auf [a1] usw. Und bitte nicht prügeln. Ich weiss, dass der Code nicht perfekt ist.
  11. @ Klotzkopp OK, ich habe verstanden, dass Du mir helfen willst. Wenn Du den anderen Thread gelesen hättest, wüsstest Du das ich GENAU DAMIT ein Problem habe. Wie kann ich in C einen Teilstring ermitteln? In Java gibt es substr(), in VBA gibt es LEFT und RIGHT. Und in C gibt es so was nicht!!! Könntest Du mir für diesen Punkt weiterhelfen?
  12. @ brandyandy ich habe bereits (leider im falschen Thread) weiter geschrieben. Ich habe nun folgendes Problem: Ich lese Werte aus einer csv-Datei aus (Datei1.csv) und muss die Werte überarbeitet wieder in eine neue Datei (Datei2.csv) reinschreiben. Die Werte aus der 1. Datei sehen wie folgt aus: ZE01.01;beschreibung ZE02;beschreibung1 ZE13.13;beschreibung In der neuen Datei soll dann stehen: 760101;beschreibung 760200;beschreibung1 Nun habe ich mit der Umsetzung Deines Codes Probleme. Hier der Link zum anderen Thread: http://forum.fachinformatiker.de/c-c/118517-frage-zur-handhabung-dateien-2.html @ brandyandy Wie würdest Du das umsetzen? Um mein Problem genauer zu beschreiben: Dein Code habe ich nachvollziehen können. Nun habe ich nur das Problem, ich lese die Werte aus einer Datei aus und da muss ich nur die ersten Werte umwandeln. @ admin ich weiss, das ist Doppelposting. Ich gelobe Besserung.
  13. @ Klotzkopp Also. Folgender Beitrag ist noch wichtig: http://forum.fachinformatiker.de/c-c/118820-teilstring-c-ermitteln.html In diesem Beitrag hat brandyandy folgenden Code als Beispiel gebracht: #include<stdio.h> #include<conio.h> #include<string.h> int main() { char zeichen[]="ZEXXX"; char anfang[]="76"; char * substring; if (strlen(zeichen)==5) { strcat(anfang,zeichen); puts(anfang); } else if (strlen(zeichen)==8) { substring= strstr (zeichen,"."); strncpy(substring,"YY",5); strcat(anfang,zeichen); puts(anfang); } else { } getch(); return 0; } 5 Deshalb wegen dem String ZE02 --> muss also 4 sein an dieser Stelle. 10 wegen dem Teilstring ZE05.05 --> muss also 7 sein an dieser Stelle. Und dass die Fehlerbehandlung für die Dateiöffnung fehlt, dass weis ich auch --> bringt mir der Lösung nicht nährer. Wenn Du meinst, ich frickle nur rum, eine kurze Frage: Wie würdest Du das machen? Ich suche verdammt zur Zeit verzweifelt eine Möglichkeit, diesen blöden Punkt aus dem String zu entfernen und den Teilstring 76 davorzustellen. Kannst Du mir wenigstens dabei helfen? Wie kann ich aus ZE05.00 den Punkt entfernen und die 76 davorstellen? In anderen Programmiersprachen kann ich die Methoden left(), right() oder substring() nutzen für solche Sachen. In C gibt es so was nicht direkt!
  14. @ Klotzkopp Also, der Code soll folgendes tun: Die Werte aus Datei1.csv (Hier habe ich den Punkt vergessen) auslesen. In dieser Datei stehen folgende Werte: Text1;;Text2 ZE01.01;beschreibung; irgendeinText ZE02;beschreibung1; irgendeinText ZE05.05; beschreibung; irgendeinText ZE13.00; beschreibung; irgendeinText In der Datei2.csv soll dann stehen: ZE01.01;76ZE0101;beschreibung;; irgendeinText ZE02;76ZE0200;beschreibung1; irgendeinText ZE05.05; 76ZE0505;beschreibung; irgendeinText ZE13.00; 76ZE1300;beschreibung; irgendeinText Jetzt gibt der Compiler keine Fehlermeldung mehr, wenn ich 01 durch die Variable zeichen ersetze. ABER: es wird nichts in die Datei reingeschrieben. Bitte helft mir. Ich weiss, dass ich was die C-Programmierung angeht, noch blutiger Anfänger bin. Ist aber jetzt klar geworden, wass ich will?
  15. Könnt ihr mir nicht nochmal helfen? Mir macht diese Zeile Probleme: result = strncpy(substring,"01",5); Sobald ich die "01" mit der Variable result austausche, fliegt mir der Funktionsaufruf im Debugger um die Ohren.
  16. Also, ich habe mit der Umsetzung noch ein paar Probleme mit der C-Programmierung: #include <string.h> #include <stdio.h> int main(void) { FILE *datei = fopen("Datei1csv", "r"); FILE *datei_neu = fopen("Datei2.csv", "w+"); char line [] = "Dies ist ein Teilstring"; char delims[] = ";"; char *result; char anfang[]="76"; char *substring = NULL; char zeichen[]="ZE01.01 2)"; if (datei != NULL) { while (fgets(line, sizeof line, datei)) { printf(line); result = strtok(line, delims); while(result != NULL) { //if(strcmp("Text 1", result) == 0) continue; //else if(strcmp("Text 2", result) == 0) continue; //printf(result); if (strlen(zeichen)==5) { strcat(anfang,zeichen); fputs(anfang, datei_neu); puts(anfang); result = strtok(line, delims); } else if (strlen(zeichen)==10) { substring= strstr (zeichen,"."); result = strncpy(substring,"01",5); result = strcat(anfang,zeichen); fputs(result, datei_neu); puts(anfang); result = strtok(line, delims); } getch(); } } } } Ich lese Werte aus einer csv-Datei aus (Datei1.csv) und muss die Werte überarbeitet wieder in eine neue Datei (Datei2.csv) reinschreiben. Die Werte aus der 1. Datei sehen wie folgt aus: Text1;;Text2 --> Diese Zeile soll nicht mit in die neue Datei ZE01.01;beschreibung --> ZE01.01 muss zu 76ZE0101 werden ZE02;beschreibung1 --> ZE02 muss zu 76ZE0200 werden. In der neuen Datei soll dann stehen: 760101;beschreibung 760200;beschreibung1 Könnt ihr mir nochmals helfen? Bitte nicht prügeln Ich bin ein Anfänger, was die C-Programmierung angeht. Wenn ihr mich prügeln wollt, dann bitte. Und dass die Kommentarzeilen nicht ausgeführt werden, dass weiss ich. So funzt es ja leider nicht. Und dass dieser Bereich noch nicht passt, weiss ich auch (ist das Hauptproblem): f (strlen(zeichen)==5) { strcat(anfang,zeichen); fputs(anfang, datei_neu); puts(anfang); result = strtok(line, delims); } else if (strlen(zeichen)==10) { substring= strstr (zeichen,"."); result = strncpy(substring,"01",5); // kann so nicht funzen result = strcat(anfang,zeichen); fputs(result, datei_neu); puts(anfang); result = strtok(line, delims); } getch(); Wie gesagt, wenn ihr auf mir rumprügeln wollt, bitte. Ich bitte Euch nur um Hilfe.
  17. @ TDM OK, wie würdest Du es in C programmieren? Das abprüfen auf ""?
  18. @ TDM So kann man auch einen String zerlegen: Liefert: Jetzt braucht man es "nur" noch in ein Array packen und dann auf "" prüfen.
  19. @ TDM substr() gibt es so in C nicht (siehe anderer Beitrag). Bist Du vielleicht in C++ "verrutscht"?
  20. Also so was? Natürlich ist das Beispiel noch nicht vollständig. int main(){ int okt[10]; // Array mit Integer-Werten für die Oktetten und Maskenl. char buffer[20]; // hier liegt die IP-Adresse als Zeichenkette strcpy(buffer, "172.31.32.0/24"); // IP auf den buffer kopieren split(okt, buffer); // Die Oktetten liegen nun auf okt[0] bis okt[3] // Die Maskenlänge liegt auf okt[4] return 0; } Das ist ein Beispiel von Berechnen von IP-Adressen in der Programmiersprache c
  21. @ Klotzkopp Ich habe mit der Umsetzung von der Lösung von LadyPreis Probleme. Also angenommen die Zeile sieht wie folgt aus: text1; text2bla; text3blub; ; text5texttexttext nun speicher ich die Zeile wie folgt ab: char line [128]; Wie kann ich jetzt den String zerlegen und abprüfen, ob der 4. Eintrag leer ist?
  22. @ Bubble könntest Du das in einem Codebeispiel nochmal erläutern?
  23. Also, es kann entweder nur ZEXXX auftreten oder ZEXXX.YY Ich muss da was zusammenbasteln. Aus ZEXXX muss 76ZEXXX werden und aus ZEXXX.YY muss 76ZEXXXYY werden. Kannst Du mir da weiterhelfen?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...