Zum Inhalt springen

Olli_Master

Mitglieder
  • Gesamte Inhalte

    203
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Olli_Master

  1. Wozu? Erklär mal was du eigentlich erreichen willst.
  2. Versuchs erst mal mit einem einfachen: select 'After you''ve gone' from dual; und dann mit: insert into blabla (track_name) values ('Titel'); Dann siehst du wo der Fehler liegt. (Ggf. liegt es auch an deinem SQL-Werkzeug?)
  3. Bis einschließlich Oracle8i gibt es den JOIN-Syntax nicht unter Oracle. Die Oracle-Variante mit der WHERE-Bedingung sollte bei einer "guten" DB-Konfiguration und vor allem korrekt gewählten Indices (insbesondere für die Fremdschlüssel) mindestens genauso schnell sein wie Access. Diese Relation ist abhängig vom Datenvolumen. Bei 100 DS an einem schnellen Desktop-Arbeitsplatz wird Access natürlich schneller sein Wenns interssiert: Lt. Oracle wird mit der 9er-Version der DB der JOIN-Syntax als Zusatz unterstützt. (nach ANSI/ISO SQL99) Oracle Technet News
  4. Unter Windows gibt es z.Z. 2 gängige Formate für Hilfedateien. 1) WinHelp (*.hlp) (alt) 2) HTML Help (*.chm) (neu) Die ersten basieren werden mit einem Textverarbeitungsprogramm (z.B. Word 97++) geschrieben, als RTF mit speziellen Fußnoten gespeichert und von dem MS Help Workshop (Help Compiler) in eine HLP-Datei geschrieben. Die 2. ist (schön) HTML-Basierend und können mit einem beliebigen HTML-Editor geschrieben werden. Zum kompilieren der Hilfe-Datei gibts von Microsoft das Programm "HTML Help". Beide Varianten sind sehr mühselig und nicht so ihne weiteres einfach zu pflegen. Das hängt aber sehr vom Umfang und Art der Dokumentation ab (Programmbeschreibung, Referenz, Tutorial, ...). Software gibts auf der Web-Site von Microsoft bzw. als Bestandteil von MS Visual Studio. Für Umfangreichere Sachen gibt es spezielle Help-Autorensysteme: z.B. ForeHelp (v.4) kann ich da empfehlen.
  5. AFAIK kann man mit Imaging keine Tiff-Dateien per Kommandozeile drucken. Wenn aber auf allen Rechnern der MS Photo Editor (Teil von MS Office xx), dann kannst du den zum drucken nehmen: "<<Pfad>>\Microsoft Shared\PhotoEd\Photoed.exe" /p "<<pfad>>\test.tif" Er druckt dann natürlich auf den Standarddrucker sofort los - ohne Einstellmöglichkeiten.
  6. Denkanstoss: Wie wird denn ein mehrdimensionales Array im Speicher abgelegt bzw. darauf zugegriffen? Das Reservieren des Arrays sollte nicht das Problem darstellen: int **i; main() { int iDim1 = 19; int iDim2 = 29; i = new int[ iDim1 * iDim2 ]; ... } Aber der Compiler kann aber hierbei nicht wissen, wie groß die erste Dimension des Arrays ist. Daher kann man NICHT schreiben: int iTest = i[1][1]; Also müsste man bei jedem Zugriff anhand der Zeile und Spalte die Position im eindimensionalen Array bestimmen. !!!Vorsicht beim verändern der Array-Größe!!! Und das Freigeben des Speichers nicht vergessen. Alternative : Eine Klasse, die das Array kapselt und den [] - operator überschreibt. Vielleicht gibt es die schon irgendwo?
  7. Olli_Master

    Vb und Oracle

    Das ist doch schon mal nicht schlecht. (Da bist du mit 3h 40 min dabei) Wenn du schneller werden willst, dann musst du herausfinden, warum das ganze so "lange" dauert. Vielleicht liegt das Problem auf Datenbankseite? Also: Am Zugriff sollte es eigentlich nicht liegen, der native Zugrff (OCI, SQ-LPlus, SQL-Loader) ist erfahrungsgemäß der schnellstmögliche. (PHP wäre in der Textverarbeitung aber bedeutend schneller als VB.) Ich denke es liegt an folgenden Punkten: - Die Aktualisierung der Indices dauert bei jedem Update zu lang. Daher wäre es günstig die Indices vor dem einspielen zu löschen (Vorsicht!!) und anschließend neu zu generieren. - Bei dem Einfügen der Datensätze werden eventuell verschiedene Constraints geprüft (Primärschlüssel, Fremdschlüssel, Eindeutige Schlüssel, usw.) Für den Fall, das du weisst, das die Daten 100%tig in Ordnung sind, kann man diese Constraints vorübergehend deaktivieren. Könnte das Problem an VB liegen (vielleicht schafft er das auslesen nicht schneller?) - Wenn dem so ist, dann kannst du die Daten ja vorher ohne direkten Datenzugriff erstmal in eine "für die Datenbank einfach einlesbares" Format bringen --> SQL-Loader. Dieser ist eigentlich zum Zweck des Einlesens von Massendaten als Werkzeug vorgesehen. Frage: Sind die 22 Mio DS der Komplettdatenbestand, oder werden diese zum bestehenden Datenbestand hinzugefügt? Ich hoffe das hilft dir.
  8. Olli_Master

    Vb und Oracle

    Grundsätzlich ist es besser bei solchen Datenmengen die Verarbeitung serverseitig laufen zu lassen. Ich sehe folgende Alternativen: 1. VB + SQL-Plus Du machst aus der 500MB-Datei ein SQL-Script mit den fertigen SQL-Anweisungen (auf dem Client) und das Script startest du über SQL-Plus (Oracle Client). Den Script kannst du wahlweise 1a) vom Client aus ausführen 1b) auf Server kopieren (ggf. packen) und dort ausführen 2. VB + SQL-Loader Du machst aus der 500MB-Datei ein Austauschdatei, die via SQL-Loader in die Datenbank geladen werden kann . Den Script kannst du wieder wahlweise 2a) vom Client aus ausführen 2b) auf Server kopieren (ggf. packen) und dort ausführen 3. VB App auf dem Server ausführen. 4. ??? PHP, PLSQL, ... ??? Welche Variante die beste ist, hängt von deinem Problem ab: I. Datensicherheit: Welcher schaden entsteht, wenn der Export aufgrund eines Netzausfalls (o.ä.) abbricht. II. Kannst/darfst du serverseitig Oracle Werkzeuge benutzen. III. Was genau dauert bei der übertragung so lang? Die Insert-Operation in der DB oder die reine Netzwerkübertragung (langsames Netz)? 1a und 2a dürften die schnellsten, client-basierten Lösungen sein. Ich hoffe das hilft dir.
  9. For Each REL In datasSet.ChildRelations out "--" & REL.ChildTable.TableName) Next For Each Element In Gruppe [Anweisungen] [Exit For] [Anweisungen] Next [Element] Das bedeutet, dass du alle Elemente einer Gruppe (auch Collection oder Auflistung genannt) einzeln durchgehst. REL ist in deinem Fall die Variable, über die du die einzelnen Elemente ansprechen kannst. out() ist vermutlich eine Ausgabefunktion, habe ich in VB bisher nicht so gesehen. Ggf. ist es auch eine eigene Funktion? Zur Not kannst du OUT durch MsgBox xxx oder Debug.Print xxx ersetzen. Ich hoffe das hilft.
  10. Wenn du nix neues runterladen willst, geht es Zur Not auch mit dem guten alten Word 97 Einfach Datei öffnen, Alles markieren, Suchen/Ersetzen Suche nach: ^t Ersetzen durch: *** (was du willst) und dann "Alle Ersetzen" und schon funktionierts!
  11. Nicht jeder hat immer die neueste Software Bin leider noch bei Access 2000. Kommt davon, wenn man sich zunehmend mit Oracle beschäftigt. Danke für den Hinweis.
  12. Über ODBC sollte das relativ einfach gehen. Aber das "Datenmodell" und die Logik muss in Access wieder hinterlegt werden (Alle Constrains - Primary-Keys, Foreign Keys .. Check, usw.) Trigger gibt es in Access ja bekanntlich nicht... Felder vom Datentyp BLOB (wenn es die unter Oracle7 schon gibt??), werden nicht per ODBC übernommen. Warum sollte man von Oracle auf Access umsteigen ? - vielleicht aus Kostengründen?
  13. Wenn DU das Problem lösen möchtest (und nebenbei etwas lernen willst ), dann musst du schon ein wenig Zeit investieren musst. Grundkenntnisse in einer beliebigen Programmiersprache sollten eigentlich reichen. - Ich gehe davon aus, dass es um Access 97 geht, richtig? - Ich gehe davon aus, dass die Rückmeldung über den Erfolg der Batchdatei uninteressant ist. Ich gebe dir ein Anfangsmodul, dass du an deine Bedürfnisse anpassen kannst. Es erstellt eine entsprechende Batch-Datei und führt diese aus. Das <<zusammenbauen>> des Strings für die Batch-Datei musst du schon selbst machen, da es sehr von der Datenbank bzw. dem Formular abhängt, wie du an die Daten herankommst. Option Compare Database Option Explicit Const sFileName = "d:\temp\test.bat" Const sErrorMsg_ras = "Beim Ausführen der Prozedur CreateAndRunBatch ist ein Fehler aufgetreten. Der Vorgang wird abgebrochen." Public Function CreateAndRunBatch() As Boolean CreateAndRunBatch = False On Error GoTo err Dim sRasEntry As String 'Eintrag für Batch-Datei erstellen sRasEntry = "rasdial 0256398785 admin superpasswort" 'Batch erstellen Open sFileName For Output As #1 Print #1, sRasEntry Print #1, "pause" Close #1 'Batch ausführen Shell sFileName 'Standard-Fehlerbehandlung wieder einschalten On Error Goto 0 'Erfolgreiche Ausführung CreateAndRunBatch = True Exit Function err: MsgBox sErrorMsg_ras, vbExclamation, "Fehler" On Error Goto 0 End Function Ich hoffe das hilft dir weiter.
  14. Das Service-Release sollte es eigentlich nicht sein, was den Fehler verursacht. klingt sehr nach Ausführung eines Makros bzw. die Ausgabe einer Tabelle oder Abfrage in eine Datei ??? Wenn hierbei ein Fehler auftritt, dann kann es zu dieser Fehlermeldung kommen. Aber die Ursache bekommt man so nicht heraus. Vielleicht sollte man die auf dem Rechner ausgeführten Aktionen, die zu dem Fehler führen Schrittweise ausführen und den Fehler (vermutlich die Zeile AusgabeIn) ein wenig genauer untersuchen. Möglicherweise ist das gewählte Exportformat nicht vorhanden und es wird versucht eine Datei in dem Format auszugeben(Stichwort: "ISAM"). Ich hoffe das hilft.
  15. Grundsätzlich dient der Primärschlüssel zur eindeutigen Idendifikation des Datensatzes. Wenn eine Datenbank eine durchgehende Nummerierung von Datensätzen über den Primärschlüssel bereitstellen würde, so müsste die DB auch sicherstellen, dass kein Datensatz mehr aus der Tabelle entfernt wird (, da sonst ständig der Primärschlüssel aktualisiert werden müsste - in allen abhängigen Tabellen natürlich !). Folglich ist eine automatische durchgehende Nummerierung nicht über den Primärschlüssel zu lösen. Ich denke, dass ist eine Ansichssache: Du kannst den Bericht doch von 1 bis xx durchnummeriert und mit der "nicht fortlaufenden" Rechnungsnummer als Bezug ausgeben. (So hast du keine neuen Probleme, wenn die Nummerierung jedes Jahr von vorn beginnt
  16. Leider gibt es da -- so weit ich das weiss -- keine Bordmittel von Oracle. Wenn du die Scripts für alle Tabellen, Views, PLSQL-Packeges usw. brauchst, dann helfen meist nur spezielle Tools weiter. z.B. Free TOAD Zum generieren der Scripts brauchst du entsprechende Rechte in der Datenbank. Eine Garantie, ob das 100% tig funktioniert gibt es aber bei den vielen Datenbankversionen sowieso nicht!!! Für Java-Klassen & Co (ab 8.1.x) werden bestimmt keine Scripts generiert. ------- Für einzelne Objekte kannst du den Oracle Enterprise Manager benutzen (bzw. DBA-Studio). Bei vielen Objekten wird das aber irgendwann ziemlich lästig. Ich hoffe das hilft.
  17. Eine Möglichkeit wäre zur Zahl einfach 0x00808080 (hex) oder 8421504 (dezimal) zu addieren. Somit bekommst du zwar nicht die Komplementärfarbe, aber zumeindest sollte in den meisten Fällen lesbar sein. (grau auf weiß bzw. schwarz, usw.) Eine andere Möglichkeit wäre, dass du dich auf weiß oder schwarz als Vorderrgrundfarbe festlegst. Dann ermittelst du den Durchschnitt der Farbanteile. Wenn dieser größer 128 ist, dann nimmst du schwarz und sonst weiß. Pseudocode: iHelligkeit = (GetRValue(cColor) +GetGValue(cColor) +GetBValue(cColor)) / 3; if ( iHelligkeit >= 128) cColorNeu = 0; else cColorNeu = 0xFFFFFF; Ich hoffe das hilft...
  18. Olli_Master

    Pl/sql

    Was spricht dagegen, dass Array Schritt für Schritt durchzugehen?
  19. Ein wenig VBA-Code ist da schon notwendig. 1. Datei öffnen 2. Zeichenkette "rasdial 0256398785 admin superpasswort" aus Datenfeldern <<zusammensetzen>> 3. Zeichenkette in die Datei schreiben 4. Datei schließen 5. Batch ausführen Bei welchem Punkt hasst du Probleme?
  20. Leider kann es das Format nur lesen - und wie schon gesagt - ich brauche eine Programm zum konvertieren TIFF-->DJVU. Trotzdem Danke. Vielleicht kennt noch jemand ein tolles Programm?
  21. Kennt jemand ein Programm mit dem man im Batchbetrieb große Bilddateien (bis 200 MB) von TIFF-Rev6 in das DJVU-Format (von AT&T, Lizardtech) konvertieren kann. (Kommandozeilenprogramm genügt - die Batchdatei kann ich selber schreiben) Ich brauche ein "echtes" Kommandozeilenprogramm welches auf die Abarbeitung der Konvertierung wartet und im Fehlerfall auch wirklich einen Fehlercode zurückgibt. (bitte kein GUI-Tool á la SlowView) Das ganze sollte entweder kostenlos (FreeWare, GNU, etc.) sein oder nur mit geringen Kosten verbunden sein. Kennt jemand soetwas oder hat ggf. schon Erfahrungen mit dem DJVU-Format gemacht? Danke im Voraus Bisher wird die Konvertierung von einem Bearbeiter mit einem GUI-Programm durchgeführt, der nix anderes macht als Datei öffnen, Datei speichern usw. (da wird man wahnsinnig von) Das soll nun automatisiert werden. ?? Anscheindend gibt es für dieses Format unter WinNT/2000 oder XP keine vernünftigen und kostengünstigen Konverter.
  22. Wenn es eine solche Funktion gäbe, müsste diese ebenfalls die Tabelle "durchgehen", was keine Änderung am Laufzeitverhalten bedeuten würde. In Standard-SQL gibt es keine. Wenn du Oracle verwendest, dann kannst du eine PLSQL-Funktion schreiben - da hast du so gut wie gar keinen Performanceverlust, wenn du einen Cursor durchgehst.
  23. Du hast 2 Probleme: 1. Im SQL Query-Analyzer werdeb T-SQL-Scripts ausgeführt. Hierbei muss jede Anweisung, die einen View erzeugt mit einem "GO" abgeschlossen werden - kein Semikolon!! :eek: 2. Deine Joins sehen sehr Fehlerverdächtig aus. Da fehlt irgendwie ein kleines Stückchen Schau mal in der SQL-Server Online-Hilfe unter "CREATE VIEW" nach - da sind einige nützliche Beispiele. Das müsste z.B. gehen: USE datenbankname GO create view ski_kund as select distinct vorname, nachname, straße, ort, land, plz from ski_kund3 where kategorie = 'skiausrüstung' GO Hoffe das hilft.
  24. Ein Benutzerkonzept lässt sich sowohl in Access 97 wie auch unter Access 2000 realisieren. Die Benutzerverwaltung ist in der Access Online Hilfe mehr oder weniger gut beschrieben. Allerdings ist Umsetzung und Pflege der Benutzerverwaltung in beiden Versionen relativ umständlich. Die Frage aber ist, ob du bei der Web-Anwendung die Access-Benutzerverwaltung verwenden kannst und ob das wirklich sinnvoll ist (ich denke NEIN). Bei Web-Anwendungen greift man normalerweise immer mit einem Benutzernamen auf eine Datenbank zu (ODBC oder ADO). Access verträgt natürlich nur eine sehr begrenzt Nutzeranzahl. Und zur Jokerfrage: Über ASP und SQL kannst du sowohl Daten abrufen wie auch in die Datenbank einfügen und aktualisieren. ABER: Stell dir das aber nicht so einfach vor mit dem "Daten abrufen oder reinschieben". Die gesamte Access-Funktionalität kannst du über ASP natürlich nicht nutzen, da du über eine Schnittstelle auf die Datenbank zugreifst. Alles was im Browser angezeigt wird muss über ASP generiert generiert werden. d.h. eerzeugen von HTML-Formulare, Plausibilitätsprüfung via ASP, CSS, HTML-Tabellen (Für größere Anwendungen kann das ganz schön Aufwendig werden!!!) ---------------------------------- Ein paar Fragen, die du dir selbst beantworten solltest: - Sollen die bestehenden Access-Formulare (sofern vorhanden) im Web verfügbar machen oder nur Daten nach Benutzergruppe angezeigt werden? - Wie viele Nutzer werden durchschnittlich/maximal zugreifen? - Wie wird das Nutzerverhalten bei den Zugriffen sein (einfache Abfragen, komplexe Abfragen, Massenverarbeitung, ..) Alternative: Eventuell ist eine Lösung mit MySQL und PHP doch besser - und billiger? Alternative: Wenn bei allen Nutzern "Access 2000" vorhanden ist, dann könntest du die "Datenzugriffseiten" nutzen. ---------------------------------- Fragen?

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