Zum Inhalt springen

tuxfriend

Mitglieder
  • Gesamte Inhalte

    46
  • Benutzer seit

  • Letzter Besuch

  1. Hier würde ich noch einen Halbsatz zu den nötigen Punkten schreiben. Auch hier noch ein Halbsatz um zu spezifizieren, was für Dokumente das sind. Ich vermute mal es geht um automatisierten Rechnungsdruck u.ä., das solltest du mit aufnehmen, dann wir der Kontext klarer. Hier vielleicht noch die Technologie der Schnittstelle angeben, über die du deine Komponente in die bestehende Software integrierst. Das Verhältnis zwischen Analyse und Design kommt mir persönlich etwas komisch vor ... ich würde hier etwas weniger Analyse und etwas mehr Design schätzen, kommt aber auch auf das Projektumfeld an. Projektumfeld: Hier ist es vor alem wichtig, ob du selber in der Firma arbeitest, in der du dieses Projekt umsetzt (dann würde ich die Analysephase für deutlich zu lang halten, da du die Prozesse in der Regel kennen wirst) oder wird das Projekt für eine Fremdfirma um (dann denke ich ist die Dauer der Analyse gar nicht so unrealistisch). Wenn es einen solchen Punkt nicht explizit gibt, würde ich ihn mit in die Projektbeschreibung aufnehmen. Vielleicht können ja ein paar Essener sagen, wie sie das gemacht haben. Ich hatte dafür einen extra Punkt im Antrag. Gruß Nils
  2. Hallo, ohne große ahnung von PHP kann ich dir sagen, das der Fehler ORA-01036 bedeutet, dass du versucht einen Wert an eine Variable zu binden, die in deinem Statement nicht vorkommt. Bind Variablen müssen im Statment durch die Notation :Variable kenntlich gemacht werden. Das ist in deinem oci_parse Aufruf aber nicht geschehen. In anderen Sprachen muss man bei Bind Variablen auch kenntlich mach ob es sich um eine Input oder Output Variable handelt. Das sind zwei Fehler die mir auffallen. Mit Rückabewerten aus PL/SQL Code musste ich zum Glück noch nie arbeiten. Ich persönlich weiß keinen Weg, wie das funktionieren könnte. Evtl. indem du die aufgerufene Stored Procedure einen geöffneten Cursor zurückgeben lässt ?.?
  3. Eigentlich haben Trigger keine eigenen Rechte, wenn innerhalb eines Triggers aber auf Datenbankobjekte zugegriffen wird, dann geschieht dies mit den Rechten des Benutzers dessen Aktion den Trigger ausgelöst hat. Wenn jetzt dein aktiver Benutzer "A" auf eine Sequenz zugreifen will, auf die er keine Rechte hat, gibt das natürlich ein Problem. Was deine langen Zeichenketten angeht: 1. Der Datentyp VARCHAR2 kann Zeichenketten bis 4000 Zeichen speichern. Hierbei ist es allerdings wichtig, dass du wie im von dir geposteten Link beschrieben mit Bind Variablen arbeitest. Bind Variablen haben unter Oracle den interessanten Effekt, das der SQLParser das Statement bei der 2ten - xten Ausführung wiedererkennt und es kein zweites mal scannt sondern nur noch die neuen Werte für die Bind Variablen einfügt. Das bringt gerade bei langen Statements, die sich oft wiederholen riesige Performancegewinne. 2. Solltest du tatsächlich Felder haben, die mehr als 4000 Zeichen enthalten, müßtest du hierfür den Datentypen CLOB verwenden. Wie PHP mi diesem umgehen kann, kann ich dir aber leider nicht sagen. Gruß Nils
  4. Hallo, für das was du tun möchtest gibt es in C++ zusätzlich zu private und public noch die Zugriffsvariante protected. Auf diese Attribute und Methoden hat dann die Basisklasse und alle von ihr abgeleiteten Klassen Zugriff. Alle anderen müssen draußen bleiben. Gruß Nils
  5. Hallo, dieser Fehler tritt normalerweise dann auf, wenn du aus einem Cursor alle Records gelesen hast. Möglich, dass ein select into, das kein Ergebnis liefert auch eine solche Exception verursacht. select matchcode, debitor, kreditor from konten into tmpMatchcode where matchcode = :OLD.matchcode; Dann könnte der Fehler in dieser Anweisung liegen und zwar wenn kein Datensatz mit matchcode = :OLD.matchcode zurückgegeben wurde. Das würde ich erstmal testen. Ansonsten poste doch bitte mal den Code deines Triggers. Gruß Nils
  6. ACK! Trotzdem hast du nicht unbedingt Recht. Wenn ich zum Beispiel eine Software habe, die auf einem Server läuft, kann ich unterschiedliche Lizenzmodelle anbieten. Beispiele sind concurrent user, named user, oder eben auch eine Version, die ich nur auf einer Serverhardware installieren darf. Wenn mein Kunde ein so großes System mit meiner Software betreibt, dass er mehrere Maschinen braucht, dann will ich als Zulieferer schließlich auch etwas davon abhaben. Unter bestimmten Umstände ist das gerade für große Firmen ein sehr gutes Lizenzmodell. --SCHNIPP-- So, jetzt noch etwas zur technischen Seite: falls ihr ein System zukauft achtet darauf, das wirklich nur relativ statische Werte genommen werden. Ich hatte neulich den Fall, dass die IP Adresse zur Berechnung einer ID herangezogen wurde. Ich hab mich echt gewundert, als das schöne System plötzlich den Geist aufgab nur weil es in einem anderen Netz hing. ) Dann hast du einen ärgerlichen Kunden.
  7. Hallo, es gibt zwei Möglichkeiten, eine Excel Datei durch ein externes Programm zu bearbeiten: Zunächst einmal wäre da das Component Object Model, eine sprachunabhängige Schnittstelle für Winows basierte Programme Alle Microsoft Programme bieten COM Objekte, mit denen du arbeiten könntest. Bemühe mal google und msdn.com mit Begriffen wie COM, C++, Excel, Automation, ... Ausserdem gäbe es da noch die Möglichkeit über SQL. Kein Witz: du kannst im Windows ODBC Manager eine User DSN für Excel Dateien anlegen. Das eignet sich aber eher für den Zugriff auf bestehende Dateien. Ich denke COM ist für dich das Mittel der Wahl. Die MFC bietet soweit ich weiß auch C++ Kapselungen der COM Klassen. so mußt du dich nicht erst wissenschaftlich damit beschäftigen. Hoffe das hilft. Gruß Nils
  8. Hallo, auch wenn deine Frage etwas allgemein sind will ich mal eine etwas verbindlichere Antwort riskieren. Ein (Fach-) Abi hilft dir auf jeden Fall auch schon bei der Bewerbung. Viele Firmen bevorzugen Abiturienten bei der Einstellung gerade in IT Berufen. Was den Zeugnisnoten angeht sind Mathematik und Englisch sehr wichtig. Auch Deutsch sollte man nicht vergessen, da man auch als Programmierer entgegen aller Vorurteile Kundenkontakt hat! Das Berufsbild Fachinformatiker umfasst nicht nur Programmierung sondern auch Planung und Support von Software. Das unterscheided uns von den Freaks, die Nachts im Keller sitzen und wild auf einer Tastatur rumhacken. Aus meiner Erfahrung sage ich 50% Programmierung, 40% Planung und 10% Support. Wenn du eine eigene Firma gründen willst brauchst du einen größeren Betriebswirtschaftlichen Hintergrund als ihn eine Ausbildung bietet. In diesem Fall vielleicht erst Abi, dann Ausbildung an Studium. Deine Chancen auf einen Ausbildungsplatz und folgenden Job sind auf jeden Fall < 100%. Wieviel kleiner hängt vor allem von dir selbst ab. Die Zeit als jeder der C++ sagen konnte einen Job als Programmierer bekommen hat sind vorbei. Eine Aussage darüber, wieviel Geld man verdient macht keine Sinn, das schwankt von Region zu Region, von Firma zu Firma, ... Ich hoffe das konnte dir ein bisschen weiterhelfen. Gruß Nils PS.: Ich bin jetzt im dritten Ausbildungsjahr, und bin ziemlich zufrieden mit meiner Arbeit. Obwohl dir das sicher nicht weiterhilft.
  9. Hallo, Du solltest dir die Frage stellen warum das SQL Statement so lange dauert. Unter Umständen hast du von einem "normalen" View keinerlei Vorteile. Und materialized views benötigen zusätzlich Speicherplatz. Wenn du dein Problem genauer schilderst fällt vielleicht hier jemandem eine bessere Lösung ein.
  10. tuxfriend

    Suse 9.2 ==> 9.3

    Hallo, also beim update von Suse 9.2 auf Suse 9.3 gab es in der Professional Variante wohl noch so einige Bugs, die lagne aber alle mehr im Bereich ärgerlich als produktionsgefährdend. Bei mir war zum Beispiel plötzlich QT nicht mehr im ldconfig. Folge KDE sah plötzlich sch... aus. Auf einem Server wäre mir das nicht wirklich wichtig. Von dem Problem mit XFS habe ich auch gehört, da solltest du also etwas aufpassen. Das Update von 9.3 auf 10.0 hat allerdings bei mir perfekt funktioniert. Da du von einem Server sprichst spekuliere ich mal auf ein RAID 1 und rate dir: Spiegelplatte ziehen, updaten, wenns schief geht recovery starten. Wenn es ein wirklich wichtiges System ist sollte dein Chef vielleicht das Geld in den Enterprise Server investieren. Der ist in der Paketauswahl dann ähnlich konservativ wie Debian bzw. Slackware dafür aber eben auch entsprechend stabiler. Kostet allerdings ne Kleinigkeit, dafür kann man Novell in den Hintern treten wenns nicht läuft.
  11. Hallo, mir ist noch nicht ganz klar, wie du feststellen willst, welche where Bedingungen wann wegfallen sollen. Wenn vor dem Absetzen des Statements klar ist, welche where Bedingungen greifen und welche nicht kansst du mit dem dynamic sql package von Oracle deine Sql Statements dynamisch erzeugen. Infos zu dynamic sql siehe hier Ansonsten mußt du wohl die where Bedingung entsprechend formulieren, wie vonAxlHammer schon gepostet. Gruß Nils
  12. Hallo, da du den Client in VB Programmieren willst gehe ich mal davon aus, dass du auch die Datenbank auf einem Windows aufsetzen willst. Dann braucht du den Windows x86 Installer. Gruß Nils
  13. Hallo, kannst du wirklich garantieren, dass zwischen Straße und Hausnummer ein eindeutiger Trenner steht, der an keiner anderen Stelle des Datenfeldes auftaucht? Oder aber ist die Hausnummer wirklich immer die letzten zwei Stellen? Nur wenn eine dieser zwei Bedingungen zutreffen kann man das ganze automatisieren, sonst läuft es auf Handarbeit hinaus. Wenn du dann noch das DBMS mitteilst, fällt jemandem hier vielleicht sogar eine existierende Funktion ein. Gruß Nils
  14. Hallo, es wäre interessant, das RDBMS zu kennen, aber die Funktion MAX gibt bei vielen in einem select statement den Maximalwert der gewählten Spalte zurück. Für Datumsfelder ist das das aktuellste Datum select MAX(Creationdate) from Addresstable Jetzt baust du dieses select noch in dein update statement ein: update Addresstable set AField=SomeValue where Creationdate = select MAX(Creationdate) from Addresstable Wenn mehere Datensätz mit gleichem Datum in der Tabelle stehen und dieses Datum der Maximalwert ist, werden alle aktualisiert. Gruß Nils
  15. Wie das mit den Transaktionen funzt hat Amstelchen ja schon beantwortet. Der Oracle ODBC Treiber bringt normalerweise wenig Performance Verlust. Es kommt nur darauf an was man damit tut und wie man es tut. Hast du schon mal versucht, inserts direkt über den Oracle Enterprise Manager bzw. das SQL Plus Worksheet auszuführen? Die von dir angegebnen Zeiten deuten meiner Meinung nach auf ein Performance Problem in euerer Datenbank hin. Laufen beim insert irgendwelche Trigger ab? Wenn ja sollte man sich die vielleicht mal ansehen. Dann solltest du deinen Chef mal wegen eines Oracle Schulungskonzeptes anhauen. Für Programmierer die sich im Bereich Oracle spezialisieren ist eine OCI Schulung doch ziemlich wichtig. Ausserdem braucht ihr wohl einen Admin, der fit ist in Sachen Oracle Wartung und Tuning. Ansonsten habt ihr an dem System glaub ich nicht lange freude. 10 bis 100 Datensätze sollten weder in PL/SQL noch über normale ODBC Transaktionen ein Problem sein. Ich hatte schon mit Imports von 5000 bis 10000 Datensätzen zu kämpfen und dafür im Schnitt unter 1 sek. gebraucht. Sql*Loader ist genial! Wie oben beschrieben: Das scheint mir nicht an ODBC zu liegen. Versuch mal mit oracle trace festzustellen, was da auf Datenbankseite passiert und mache die inserts tatsächlich übers Worksheet. Dann hast du jegliche ODBC Probleme ersteinmal zur Seite geschoben. Falls dein Chef einverstanden ist, kannst du die Ergebnisse ja mal veröffentlich. Bin zwar Programmierer und kein DBA aber vielleicht kann hier ja sonst jemand helfen. Gruß Nils

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