Zum Inhalt springen

simsalabim

Mitglieder
  • Gesamte Inhalte

    30
  • Benutzer seit

  • Letzter Besuch

  1. Hallo, ich habe ein kleines problem, ich muss zwei Werte voneinander abziehen. Es handelt sich hierbei um zwei Datumswerte ( datenbank oracle, Inhalt Systimestamp) Angezeigt wird mir in der DB nur das jeweilige Datum Beispiel 21.07.09. Wie kann ich es erreichen, dass mir in der DB auch die Stunden minuten und sekunden angezeigt werden, bzw. was muss ich in einem Statement tun, damit die Differenz zwischen den beiden Werten eingetragen wird. Ich mache zuerst einen Insert auf die tabelle, wo ich in das startfeld das systimestamp eintrage. Anschließend folgt ein update auf die tabelle. In diesem Update möchte ich auch die Differenz berechnen. wer kann mir helfen danke
  2. Hallo, ja das hört sich gut an. Wei mjuss ich den den jetzt einbauen. Derzeit schaut das jetzt so aus. Leider werden wie gesagt alle Cubes gleichzeitig ausgeführt Sub process_cubes() On Error Resume Next Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Erstellung des Objektes wscript Set oexec = WshShell.runSet oexec = WshShell.run("D:\dbase\cubes\aktualisiere_fakten.bat") protokoll logfile, oexec.stderr.readall protokoll logfile, "Auftrag Fakten Würfel erstellt" Set oexec = WshShell.run("D:\dbase\cubes\Fakturen.bat") protokoll logfile, oexec.stderr.readall protokoll logfile, " Fakturen Würfel erstellt" End Sub Wo und wie muss der Wuellcode denn jetzt eingabut werden? Muss ich das in einer Schleife machen, indem ich auf einen stqatus abfrage. Leider weiß ich nicht genau wie ich so etwas einbaue. danke
  3. Hallo, ich habe ein kleines problem bei dem Ihr mir helfen könnt. In meinem VBS Script wird eine proceure aufgerufen. Sub Start_datenwürfel() In dieser proceur möchte ich eine bestimmte batch aufrufen, die einen Datenwürfel refrehst. Die batchdatei steht bereits und läuft auch fehlerfrei. Nun meine Frage: Ich habe c.a. 10 Würfelk zu refreshen, die alle durch eine Batcdatei aufgerufen werden. Wie kann ich erreichen, das diese nacheinander abgearbeitet werden, ohne gleichzeitiog zu laufen. Aufruf in der prozedur: Set oexec = WshShell.run("D:\dbase\cubes\aktualisiere_fakten.bat") Set oexec = WshShell.run("D:\dbase\cubes\aktualisiere_auftraege.bat") usw. Im Klartext heißt das Zuerst soll der erste cube refresht werden. Ist er fretgi dann der nächste usw. Dies sollte hierüber möglich sein. Wer weiß ne lösung danke
  4. Hallo, ich habe ein großes problem bei dem ich eure Hilfe brauche. Also ich verarbeite derzeit it dem SQL Loader 48 datein in eine Stage datenbank, von woaus sie dort dannn weiterverarbeitet werden. In diese Stage werden sowohl Stamm als uahc Bewegungsdaten geladen. Diese werden imme rmit einem Replace geladen beispiel: LOAD DATA CHARACTERSET UTF8 INFILE 'D:\data\TYPES.csv' REPLACE INTO TABLE YPE FIELDS TERMINATED BY '|' TRAILING NULLCOLS ( KART, TEXT, GU ) Nun habe ich aber ein Problem, wenn mir eine datein geliefert wird die keinen datensatz enthält. Dies ist bei den stammdaten sehr problematisch, bei den bewegungsdaten kann das schon mal vorkommen, ist auch nicht schlimm. Wie muss ich das script denn ändern, wenn der Loader festellt, dass er keine Daten zu importieren hat? Bei Replace wird die Datei ja immer gelöscht und die datensätze eingefügt. kann ich hier ein Rollback machen, wenn er keine Datensätze geladen hat. danke
  5. Hallo, ich habe jetzt folgende Lösung versucht update (select * from data.fakturapositionen , data.fakturakoepfe where fkop_id = fpos_fkop_id) set fpos_sparte = (Select Sparte_neu from data.mig_sparte where fkop_vkorg = vkorg_alt and fkop_vertriebsweg = vertriebsweg_alt and fpos_sparte = sparte_alt); So müsste es auch gehen
  6. Hallo, vielen Dank für deine antwort. Also das fertige Skript mit meinen tabelle schaut so aus: update data.fakturapositionen set fpos_sparte=(Select Sparte_neu from data.fakturakoepfe fk, dawa.fakturapositionen fp, dawa.mig_sparte ms where fk.fkop_id = fp.fpos_fkop_id and fk.fkop_vkorg = ms.vkorg_alt and fk.fkop_vertriebsweg = ms.vertriebsweg_alt and fp.fpos_sparte = ms.sparte_alt); Jetzt habe ich nur das problem, dass der Select funktioniert, der Update aber mit folgender fehlermeldung abbricht: Unterabfrage für eine zeile liefert meher als eine Zeile Was mache ich falsch
  7. Hallo, ich bin gerade dabei einige Tabellen zu migrieren. Bisher lief alles ganz gut nach plan, aber heute bin ich auf folgendes problem gestossen, wo ich die Tabellen nicht einfach mit einem neuen Wert fpllen kann. Vielleicht kann mir jemand von euch bei der Syntax helfen. Also es geht um folgendes: gegeben ist eine Faktendatentabelle. In dieser Faktendatentabelle gibt es ein feld Sparte. Diese Sparte muss nun mit einem neuen Wert upgedatet werden. Nun das Problem. Das feld Sparte ist in abhängigkeit mit zwei weiteren felder zu sehen, dem feld Verkaufsorganisation und dem vertriebsweg. Diese felder gibt es dort aber nicht. Beispiel In der Faktentabelle gibt es die Sparte 03 Die Mappingtabelle schaut so aus VKORG VKWEG SPARTE_ALT SPARTE_neu 1600 23 3 400 2100 21 3 800 Nun kann ich ja nicht einfach den neuen Wert nehmen, da es zum einen ja zwei möglichkeiten gibt, und ich somit auch gar keine eindeutige beziehung herstellen kann. Meine Nächste Idee war, dieses über den Fremdschlüssel zu den Kopfdaten herszustellen. Denn dort gibt es wieder die felder VKOR, VKWEg, Sparte. Nur leider geht das auch nicht, da im Kopf abweichende Sparten gegenüber den Positionen stehen können. Wie schaffe ich , folgendes Skript update data.fakturapositionen set fpos_sparte = (select fkop_sparte from data.fakturakoepfe where fakturakoepfe.fkop_id = fakturapositionen.fpos_fkop_id) so zu erweiteren, dass bei Update die Felder VKORG und Vetriebsweg aus dem Kopf herangezogen werden, um die Sparte in den Positionen upzudaten. Wenn ich etwas zu kompliziert geschrieben habe, kann ichdas im verlauf vielleicht nochmal verdeutlichen. danke
  8. Hallo, ich habe folgendes problem. Aufgrund einer bevorstehenden Migration, muss ich die gesamte Datenbank und Ihre darin befindlichen Tabellen nach bestimmten Spaltennamen untersuchen, die mirgriert werden müssen. Da es sich aber um 200 Tabellen handelt, die mitunter 30 Spalten haben, gestaltet sich die suche etwas müßig. daher meine Frage: Gibt es für Oracle einen befehl, der mir alle Tabelle und die dazugehörigen Spalten ausgibt. Dies kann ich dann ja super ins excel kopieren und von dort weiterananlysieren, ohne je Tabelle zu öffnen und dort nachzusehen. danke.
  9. Hallo, Neuer Tag neues problem. Also ich habe ein SQL Script, in welchem ich weitere SQL Skripte aufrufe. Nun möchte ich folgendes erreichen. NAch jedem SQL skript soll das ergebnis in ein Logfile geschrieben werden. In einer Batchdatei funktioniert das ganz einfach, wie geht das bei einem SQL Statement?? Beispiel Batchdatei @D:\production\kunden.sql >D:\production\log\kunden.log usw Wie geht das ganze, wenn ich als Grundlage eine SQL Dateio habe Danke
  10. Hallo, verstehe ich das richtig: also mein Hauptscript heißt Laden_Stammdaten, welches mittels VBS aufgerufen wird. In meinem SQL Skript rufen ich jetzt die anderen wiefolgt auf: sqlplus connectionstring/password @D:\production\script\admin\Kunden.sql sqlplus connectionstring/password @D:\production\script\admin\artikel.sql usw. ????
  11. Hallo, ich habe folgendes Problem. Ich habe ein kleines VBS Skript, welches im folgenden ein Ssql Skript aufruft. Dieses SQL Script soll jetzt im folgende weitere SQL Skripte ausführen. Beispiel: Aufruf Laden_Stammdaten.sql In diesem SQL Script Laden_Stammdaten befinden sich jetzt folgende scripte Laden_kunden.sql Laden_Artikel.sql .... .... Wichtig noch es handelt sich um eine Oracle Datenbank, die SQL Scripte sollen mittels sql Plus aufgerufen werden. Danke
  12. So, nun ist alles vollbarcht. Oracle macht doch alles selbstständig. Kommt ein wert im Varcharformat, wandelt dies Oracle selbstständig um. Eine Sache haeb ich allerdings noch auf dem herzen, ich wandle jetzt als das GTextfeld in eine Zahl um, damit die Zahl auch den Deutschen Konventionen entspricht habe ich zusätzlich die Funktionen replace eingesetzt, die mir den Punkt durch ein Komma ersetzt. Leider schneidet er nun die letzten beiden Stellen ab, bzw. läßt die Kommas weg, wenn die Nachkommastellen 00 betragen. Kann ich hier noch was einstellen, das er mir auf jeden Fall die Nachkommastellen anzeigt? Danke
  13. Hallo ihr, die Lösung ist doch recht einfach. Oracle ist es wohl egal was ankommt und wandelt die Daten automatsich um. Es reicht wohl ein einfaches to_number(Feldname) und der Käse ist gegessen. Das einzigste was mir jetzt noch fehlt ist, dass der Punkt durch ein Komma ersetzt wird.
  14. Hallo, danke für die Antwort. Zunächst möchte ich sagen, dass es in diesem Feld keine Alphanumerischen Daten gibt, wobei das feld allerdings ja als varchar deklariert ist. Es sind nur Werte darin, die mit einem Punkt getrennt sind. Gibt es wirtklich nichts einfacheres, diese werte in einen numerischen umzuwandeln? Oder hilft das, wenn ich mir die werte mit einem Komma trennen lasse? Danke
  15. Hallo, wenn ich nur den Select ausführe erhalte ich folgende fehlermeldung: Error starting at line 1 in command: select TO_NUMBER (XMLQUERY ('number($X)'PASSING Menge AS x RETURNING CONTENT)) AS Neue_MENGE from stage.bom Error at Command Line:2 Column:45 Error report: SQL Error: ORA-00932: Inkonsistente Datentypen: - erwartet, - erhalten 00932. 00000 - "inconsistent datatypes: expected %s got %s" *Cause: *Action: Gruß

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