Zum Inhalt springen

Beckerman2609

Mitglieder
  • Gesamte Inhalte

    53
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Beckerman2609

  1. Also ich habe das mit dem SELECT id FROM MyTable WHERE id > 123 AND rownum=1 ORDER BY id mal ausprobiert. Es scheint zu funktionieren. Hatte auch erst bedenken mit der Sortierung. Werde das auch weiter testen. Zu dem Index: Habe mittlerweile zwei angelegt. Einen mit To_date und einen ohne alles (also nur 'datumsfeld')
  2. Also das klingt ja schonmal sehr ... interessant. Mal von dem ganzen Index und DBMS abgesehen muss ich glaub ich noch einige Basics lernen. So direkt habe ich es immer noch nicht hinbekommen. Hast du vielleicht ein ähnliches Beispiel in dem du einen Vergleich mit > auf ein Datumsfeld absetzt? Mal von der Datumssortierung abgesehen, gibt es eine Möglichkeit den nächsten Datensatz einer Ergebnismenge zu lesen? Ohne die Sortierung und ausgrenzung mit "Rownum=1"? Sprich: ich habe Artikelnummer 123 und möchte die nächst höhere aus dem Artikelstamm haben. Hinsichtlich der ganzen Erklärungen -> Kennst du eine gute Tutorialseite für dieses Thema. Suche mir immer für bestimmte Datenbankprobleme eine Lösung, aber eine relative einfache Einführung habe ich für Oracle-Datenbanken noch nicht entdecken können.
  3. Nein, wir speichern unsere Datumsfelder in DATE-Spalten. Ich bin nun auf ein paar mir nicht ganz schlüssige Verhalten der Datenbank auf die Schliche gekommen. Kann es sein, dass ein Index nicht auf eine > oder < Vergleichsoperation angewendet werden kann? Habe bemerkt, dass bei einem direkten Vergleich der Index angesprochen wird, bei einem > jedoch nicht. Um Mit "ROWNUM = 1" den richtigen Datensatz zu bekommen, muss ich die Datenmenge vorher mit "ORDER BY" sortieren. Dabei stellt sich für mich die Frage ob die Sortierung ebenfalls nicht durch einen Index realisierbar ist. PS Danke für die Hilfe bisher. Habe echt schon mehr über Datenbanken gelernt seit diesem Eintrag
  4. Habe nun einen Index mit der TO_DATE Funktion angelegt (Create Index indexname on tabelle (To_Date(datumsfeld,'DD.MM.YYYY') ASC) Die ersten Tests verliefen positiv. Das scheint zu funktionieren. Werde das noch intensiver testen. Das To_Char kam von normalen Textfeldern. Um Groß- und Kleinschreibung zu ignorieren wird also auf einem Textfeld die UPPER-Methode ausgeführt. In der Datenbank wurde dabei automatisch die Zeichenfolge "To_CHAR" angehängt. Aus diesem Grund wurde obligatorisch für jedes Feld ein UPPER eingesetzt. Eben auch bei den Datumsfeldern. Gibt es denn vielleicht auch eine möglichkeit wie man ohne diesen "UPPER-Trick" die Groß/Kleinschreibung bei einer Abfrage ignorieren kann? Auf jeden Fall schonmal vielen Dank für diesen Ansatz
  5. Das Vorgehen mit dbms_stats ist mir unbekannt. Werde mich aber jetzt erstmal damit befassen. Die Gesamte Abfrage ist etwas umfangreicher. Jedoch wenn ich diesen Teilausschnitt als einzelne SQL-Abfrage ausführe, komme ich zum gleichen ergebnis. Bisher lief der Index auf "Upper (to_char('Feldbezeichnung', 'DD.MM.YYYY')) ASC" Habe Auch schon einen Test-Index nur auf "'Feldbezeichnung' ASC" aufgesetzt. Werde das gleich mal mit dem Vorgeschlagenen To_Date versuchen.
  6. Erstmal danke für die Antwort. Die Abfrage beinhaltet bereits eine Filterung mit "where rownum =1". Wollte die Abfrage nur vereinfacht darstellen. Ich bekomme ja bereits ein korrektes Ergebnis. Nur leider ist der Zeitaufwand zu groß, da kein Index angesprochen wird. Dabei frage ich mich nur: Warum? Bei einem direkten Vergleich (Bsp: where datum = '01.01.2010') wird der Index angesprochen. Ersetze ich das "=" durch ein ">" oder "<" wird der Index nicht mehr benutzt. Irgendwie ein komisches Verhalten...
  7. Hallo zusammen, ich habe folgendes Problem: In einer Tabelle habe ich ein Datumsfeld. Von einem variablen Datum möchte ich nun das nächst größere/kleinere Datum aus der Tabelle haben. Zur Geschwindigkeitsoptimierung möchte ich dafür einen Index nutzen. Ich bekomme bereits das richtige Ergebnis, jedoch wird dabei nicht der Index angesprochen. Beispiel: Select datum from tabelle where datum > '01.01.2010' Vergleiche ich mit einem Datum wird jedoch der Index angesprochen Select datum from tabelle where datum = '01.01.2010' Wie kriege ich es nun hin, dass auch bei einem vergleich mit < oder > der Index benutzt wird? Oder wie komme ich auf eine andere Art an den nächst größeren Datensatz eines bekannten Datums in der Tabelle?
  8. Habe bisher keine Erfahrungen mit php. Socketprogrammierung habe ich teilweise schon in Java durchgeführt. Nach meinem aktuellen Wissensstand würde ich jetzt versuchen ein Server-Programm zu programmieren, welcher auf eine Nachricht eines Client-Programmes wartet (Also das Applet). Wieso ist es denn dem Applet möglich eine txt zu lesen, sie aber nicht zu schreiben. Müsste das nicht aus gleichem Grund verboten sein? Wegen der Sache mit Tomcat und Servlets: Ist es denn möglich ein solches Programm ohne einen Webserver laufen zu lassen? Das ganze Programm ist Teil eines Projektes welches auch komplett Dokumentiert und Präsentiert werden wird. ich sollte den Umgang mit meinen benutzten Tools also auch verstehen und habe es nicht zwangsweise nötig mich mit nochmehr neuem Material zu beschäftigen. Ihr wisst schon...
  9. Habe mir jetzt mal die Sache mit den Policys durchgelesen. Habe auch schon eine Erstellt. Mit dem Tool habe ich eine Policy-Datei erstellt und diese in meinem Programm-Ordner hinzugefügt. Ganz so wie es auf der Seite erklärt ist. Hat aber auch nicht funktioniert. Bin da jedoch noch bei mich weiter einzuarbeiten. Jetzt zu der Serververbindung: Habe mich auch über die Kommunikation mit Servlets informiert. Dafür ist ja (so wie ich verstanden habe) ein Webserver nötig. Da wir einen solchen nicht im Hause haben müsste ich den auch noch extra für dieses Schreibrecht aufbauen. Kann man hierfür auch ein "normales" Java-Programm irgendwie für nehmen? Also ganz nach Client/Server-Socketprogrammierung? Weiß jemand ob es sich lohnt noch weiter in die Zertifikats/Signierung/Policy-Schiene zu informieren? Habe da so einiges gelesen was ich erstmal verstehen muss. Und wie weiter oben erwähnt zeigen die ersten Taten mit der Handhabung von Policies keine Wirkung. Auf jeden Fall erstmal Danke für die rege Beteiligung
  10. Das hört sich ja nicht ganz so gut an. Ist es denn möglich über das Applet einen Batch oder ähnliches anzuschmeißen welchem man die Parameter übergibt und diese dann weggeschrieben werden? Oder wie kann ich anders eine Schnittstelle zwischen Applet und Server programmieren?
  11. Sorry, Bekomme eine "java.security.AccessControlException: access denied (java.io.FilePermission ...test.txt write)" Hat also irgendwas mit den Rechten zu tun. Aber warum kann ich die Datei lesen, aber nicht schreiben? Übrigens: Das ganze Programm soll in einem Intranet laufen. Es muss also keine Internetverbindung aufgebaut werden können.
  12. Hallo zusammen, ich möchte Daten von einem Applet aus speichern. Das Applet wird von einem Server gestartet. Auf dem gleichen Server sollen auch die Daten gespeichert werden. Mir ist bewusst, dass die Applets eine hohe Sicherheitseinstufung haben. Jedoch habe ich Informationen gefunden, die besagen, dass ein Applet auf dem Server auf dem es gestartet wurde auch mehr Rechte hat. Mir ist es schon gelungen eine .txt auszulesen, jedoch bekomme ich es nicht hin, in eine .txt zu schreiben. Mein Leseaufruf sieht folgendermaßen aus: URL url = new URL("file:///Z:/pfadangabe/test.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); debugZeile = br.readLine(); Ich habe auch schon verschiedene Schreibroutinen versucht, leider ohne erfolg: Versuch 1: URL url = new URL("file:///Z:/pfadangabe/test.txt"); File ausgabeDatei = new File (url.getFile()); FileWriter fw = new FileWriter(ausgabeDatei); BufferedWriter bw = new BufferedWriter(fw); bw.write("Testabc"); bw.close(); -> Klappt nicht Versuch 2: URL url = new URL("file:///Z:/pfadangabe/test.txt"); HttpURLConnection httpConn = (HttpURLConnection)url.openConnection(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(httpConn.getOutputStream())); bw.write("Testabc"); bw.close(); -> Klappt auch nicht Da mir das Lesen ja gelingt verstehe ich nicht genau warum ich nicht schreiben kann. Kennt jemand von euch das Problem? Oder noch besser: die Lösung?
  13. Hallo zusammen, wir haben ein Viren Problem in unserem Netzwerk. Der Virus führt dazu, dass ein bestimmter Serverdienst heruntergefahren wird. Mittels verschiedener Removeable Tools verschiedener Anbieter haben wir versucht den Virus zu entfernen. Das hat soweit auch funktioniert, allerdings wird von irgendeinem Benutzer der Virus immer neu versendet. Leider ist mir keine Möglichkeit bekannt den Virus daran zu hindern sich wieder auf den bereits sicheren Computern zu verbreiten. Vielleicht kennt jemand von euch ein Vorgehen in dieser Situation. Haben bereits versucht alle Computer einzeln vom Netz zu nehmen und jeden nacheinander vom Virus zu befreien, doch irgendeinen Computer vergisst man wohl immer... Bei dem Virus handelt es sich wohl um den "Con****er" (auch Downadup oder andere Namen...). Schlagen uns nun schon eine ganze Zeit mit diesem Problem rum. Vielleicht hat jemand von euch ja eine rettende Idee. Schonmal vielen Dank im Vorraus
  14. Hallo zusammen, ich habe eine Frage bezüglich einer Windows Domände. In unserem Netzwerk gibt es einige PCs die zwar in der Domäne sind, sich aber lokal anmelden. Es ist nun meine Aufgabe jeden PC zu überprüfen. Gibt es eine einfache Möglichkeit zu gucken, ob der angemeldete PC lokal oder an der Domäne angemeldet ist? Denke da an eine Art Kommandozeilen aufruf oder so. Derzeit muss ich immer alle offenen Programme schließen, mich abmelden um dann bei einer Neuanmeldung zu sehen, ob sich dieser PC an die Domäne anmeldet oder eben nur lokal. Schonmal danke im Vorraus.
  15. Hallo zurück, habe auch eine Zeit lang nicht mehr an diesem Projekt gearbeitet. Doch nun bin auch ich wieder zu diesem Problem zurück gekommen. Habe leider noch keine Lösung gefunden. Derzeit versuche ich mich über Windows CE 6.0 zu informieren. Vielleicht funktioniert das ja damit. Kann da vielleicht jemand etwas zu sagen? Derzeit habe ich auch nur mit dem Visual Studio 2005 gearbeitet. Ich habe aber auch die Möglichkeit die 2008 Version einzusetzen. Glaube zwar nicht, dass das daran liegt, aber ich denke ich werde es mal versuchen. Des weiteren sieht es eher schlecht aus...
  16. Ich habe schon auf einem Desktop-Pc ein Programm geschrieben, welches auf die Oracle-Datenbank zugreifen kann. Ich habe die "Data.SqlServerCe.dll" aus verschiedenen Ordnern versucht zu importieren. Diese gibt es bei mir in zwei Versionen: C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v2.0 und C:\Programme\Microsoft Visual Studio 8\SmartDevice\SDK\SQL Server\Mobile\v3.0 Aber da es die SQLConnection ja scheinbar nur für SQL Server funktioniert bin ich mir nicht sicher, ob dies die richtige Herangehensweise ist. Kann ich denn mit OleDb auch auf die Oracle-Datenbank zugreifen? Auch mit Windows CE?
  17. Guten Tag zusammen, ich programmiere derzeit mit einem Mobilen Gerät auf welchem Windows CE installiert ist. Meine Aufgabe ist es nun eine Verbindung zu einer Oracle-Datenbank herzustellen. Bisher ist es mir gelungen eine Verbindung zu einer SQL Server-Datenbank herzustellen. Dies funktioniert mittels "using System.Data.SqlServerCE". Damit steht mir die Klasse "SqlConnection" zu verfügung. Mit dieser kann ich jedoch nur eine Verbindung zu einer SQL Server-Datenbank herstellen, nicht aber zu Oracle. Versuche ich den Namespace "System.Data.OracleClient" einzufügen ist es möglich die Klasse "OracleConnection" aufzurufen. Mit dieser Klasse ist es theoretisch möglich eine Verbindung herzustellen. Baue ich jedoch die Klasse im Quellcode ein bekomme ich folgende Fehlermeldung: Der Typ "System.Data.Common.DbConnection" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" hinzu. Habe schon versucht verschiedene Assemblies einzufügen um irgendwie auf eine Oracle-Verbindungsklasse zugreifen zu können. Habe auch schon nach der in der Fehlermeldung genannten Assembly gegoogelt, jedoch ohne brauchbare Ergebnisse. Meine Frage ist nun ob jemand dieses Problem kennt, am besten auch eine Lösung. Ich bin mir langsam nicht mehr sicher, ob es vielleicht überhaupt nicht möglich ist mit diesem mobilen Betriebssystem auf eine Oracle-Datenbank zugreifen zu können. Schonmal Danke im Vorraus für etwaige Mühen
  18. Da liegt ja gerade das Problem. Die Grafik lässt sich nicht eben neu zeichnen. Was mir fehlt ist so eine Art "Graphics.refresh()", aber das gibt es leider nicht. Heißt das ich muss bei jeder Änderung alle Quadrate mittels Schleifendurchlauf neu zeichnen? Hab das auch mal ausprobiert. Dauert bei höherer Anzahl von Quadraten aber dementsprechend lange. Außerdem ist der Flimmer-Effekt zwischen Verschwinden der alten Abbildung und der neu zu zeichnenden unschön. Gibt es nicht eine simple Möglichkeit die Grafik neu zuzeichnen. Ich ändere ja nichts auf der Grafik. Nur das Control auf dem es platziert ist ändert sich. Habe auch schon auf eine PictureBox gezeichnet und diese versucht mittel ".refresh" neu zeichnen zu lassen, aber gleiches Ergebnis. Scheint mir alles etwas seltsam...
  19. Danke für die Antwort. Habe das auch schon ausprobiert gehabt. Hat leider nicht funktioniert. Sobald sich die Position auch nur um einen Pixel ändert verschwindet das ganze Graphics-Objekt. Wenn ich dann über einen Button die Zeichenfunktion erneut aufrufe werden die Quadrate um den geänderten Faktor jedoch gezeichnet. So sieht derzeit meine Methode aus: private void hScrollBar1_ValueChanged(object sender, EventArgs e) { int xNeu = 6 - (hScrollBar1.Value * tileBreiteHöhe); Point i = new Point(xNeu, pnMap.Location.Y); pnMap.Location = i; pnMap.Refresh(); } Möglich das es hierbei irgendeinen Fehler gibt?
  20. Hallo zusammen, in meinem Programm zeichne ich mittels "Graphics.CreateGraphics" eine variierbare Anzahl an Quadraten auf ein Panel. Ist die Anzahl an gezeichneten Quadraten so hoch, dass die Quadrate nicht mehr auf den Bildschirm passen, soll man mittels einer "HScrollBar" die Grafik nach rechts bzw. links verschieben können. Das verschieben über die ScrollBar funktioniert soweit schon ganz gut. Leider finde ich keine Möglichkeit die Grafik neu zuzeichnen. Sowas wie "Graphics.refresh()" scheint es ja nicht zu geben. Aber sowas suche ich. Einen Befehl mit dem ich das Graphics-Objekt neu zeichnen kann. Schonmal danke im Vorraus fürs Überlegen
  21. Also "Microsoft.Office.Tools.Excel.Names" funktioniert nicht. Habe Office 2007 installiert. Hatte schon ein paar Mal eine Warnung, die vielleicht etwas damit zu tun haben könnte: "Für folgende Komponenten, auf die verwiesen wird, sind aktualisierte benutzerdefinierte Wrapper verfügbar: Excel". Bei Doppelklick geht eine Messagebox auf: [...] Möchten Sie die automatisch generierten Wrapper durch die benutzerdefinierten Wrapper ersetzen? Habe diese Meldung schon öfter bekommen und mit "ja" geantwortet. Derzeit befindet sich die Using-Direktive "using Microsoft.Office.Interop.Excel;" in meinem Programm.
  22. Microsoft.Office.Interop.Excel habe ich bereits mit drin. In dieser Bibliothek befindet sich die ebenfalls im Beispiel genannten "Excel.Worksheets", leider gibts da kein "NameRange"
  23. Danke für die Antwort. Das sieht so weit ganz gut aus. Konnte es bisher jedoch nicht ausprobieren. Habe mittlerweile eine ganze Weile versucht den Ausdruck aus dem Beispiel "Microsoft.Office.Tools.Excel.NamedRange NamedRange1 " zu finden. Habe alle möglichen Verweise und dll's gesucht, die irgendwas mit Excel zu tun haben. Leider hat das nicht funktioniert. "Excel.Worksheet " kann ich allerdings benutzen. Die dll, die diesen Verweis laut Microsoft enthalten soll, habe ich bei mir eingebunden. Weiß also nicht woran das noch liegen könnte. Ich arbeite mit Visual Studio 2005 - Professional Edition.
  24. Hab in diesem Sinne ein neues, ähnliches Problem: Habe mittels ODBC-Connection eine Verbindung zu einem Exceldokument hergestellt. Bei der SQL-Abfrage muss man auch hier die Tabellennamen des Dokuments angeben: Bsp: SELECT * FROM [Tabelle1$A1:F100] Wie komme ich also an die verschiedenen Namen der Tabellen?
  25. Alles klar, Danke für die Antworten. Hat alles wunderbar funktioniert.

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