AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Textdateien fest mit einem SQL-Server verbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Textdateien fest mit einem SQL-Server verbinden

Ein Thema von Ati · begonnen am 10. Aug 2005 · letzter Beitrag vom 12. Aug 2005
Antwort Antwort
Seite 2 von 3     12 3      
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 10. Aug 2005, 15:34
Moin,

wenn das Feld durch den Import nicht korrekt eingelesen und angelegt wird,
vielleicht so...

SQL-Code:
SELECT SUM(CONVERT(INT, bestandsfeld))
FROM tabelle
MfG
Thorsten
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 10. Aug 2005, 20:53
Zitat von Ati:
Er importiert das Bestandsfeld als varchar und damit läßt sich keine Summe bilden. Gibt es da einen Trick.
Jetzt wäre es gut zu wissen, wie du den Import gebaut hast.

marabu
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#13

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 07:52
Guten Morgen,

da bin ich wieder. Also das mit dem Convert-Befehl scheint in die richtige Richtung zu gehen nur gibt es da eine kleine Fehlermeldung (s.Anhang). Wie die Textdateien aufgebaut sind kann man auch im Anhang sehen. So werden sie jede Nacht aufbereitet und liegen dann im Netzwerk.

Ati
Miniaturansicht angehängter Grafiken
kxlf02_959.jpg  
Angehängte Dateien
Dateityp: txt testkxlf02_426.txt (51,4 KB, 9x aufgerufen)
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 08:36
Ati, beim Import deiner Daten hat der Server festgestellt, dass es Spaltenwerte gibt, die ihm eine Konvertierung nach integer unmöglich machen. Anstelle den Eingabefehler zu untersuchen und zu beheben willst du nochmal mit CONVERT probieren das zu erreichen, woran der Server offenbar schon vorher gescheitert ist?

Schau dir mal deine Daten an. In den letzten Feldern taucht gelegentlich völlig unmotiviert ein Minuszeichen auf. Und wenn wirklich "-,3" irgendwo erfasst wurde, dann dürften noch ganz andere Programme Probleme bekommen. Spätestens vor dem Import solltest du die Eingabedaten durch einen Filter laufen lassen, der (a) offensichtliche Fehler korrigiert und (b) alle Fehler protokolliert.

Grüße vom marabu
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#15

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 08:53
Ich habe ja versucht als Kriterium >0 zu setzen. Das wird auch angenommen nur werden trotzdem Minuswerte angezeigt. Das Zahlen wie 114,61 dabei sind hat auch seine Richtigkeit. Und die Minuswerte sind nicht "unmotiviert", sondern werden tatsächlich von unserem WAWI zugelassen. Welche Möglcihkeiten habe ich den noch einen entsprechenden Filter zu setzen.

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 10:02
Du verrätst mal wie du importierst und ich sage dir (wenn möglich) wie du Filtern kannst - ist das fair?
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#17

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 10:13
Klaro. Ich rufe mir die Hauptseite der Tabellen auf. Rechte Maustaste->alle Tasks->Daten Importieren. Datenquelle=Textdatei und diese auswählen. Lasse dann alles so außer "Erste Zeile enthält Spaltenname" das wird markiert. Trennzeichen =";" bleibt. Dann die DB wählen wohin importiert werden soll (ist ja schon eingestellt). Authentifizierung wird eingegeben. Nächste Maske ->Weiter (hatte auch hier schon versucht zu Transformieren aht aber nicht geklappt). Dann kommen die Eisntellungen das dieser Import jeden Morgen um 7.00 Uhr erfolgen soll. Alles weitere einfach -> Weiter. That´s all.

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 11:20
Wenn du dich durch den Assistenten geklickt hast, dann kommt vor dem Festlegen des Durchführungszeitpunktes die Seite mit dem Titel "Quelltabellen und Sichten auswählen". Bei deinem Listeneintrag in der dritten Spalte ist der Schalter für das Transformieren. Der sich dann öffnende Dialog gestattet dir die Spaltenvorschläge des Servers zu überarbeiten. Insbesondere kannst du dort int als Datentyp für deine numerischen Spalten festlegen. Das alleine hilft jedoch noch nicht bei Erfassungsfehlern. Du musst dann noch das Standardskript anpassen, mit dem die Feldwerte von der Quelle zum Ziel übertragen werden. Auf die Skriptanpassung kannst du pfeifen, wenn du die Importdatei vorher durch einen Filter laufen lässt (GREP oder SED).

Viel Erfolg

marabu
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#19

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 13:47
Leider kann ich noch nicht sagen ob es wirklich funktioniert, da ich noch ein kleines Problem habe. Habe jetzt das entsprechende Feld als "FLOAT" importiert. Wenn ich jetzt einen Test mache über einen Artikel der bei uns zweimal im Lager liegt erscheinen beide Positionen.... ich will aber nur die Gesamtzahl. Wie krieg ich das denn hin???

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Textdateien fest mit einem SQL-Server verbinden

  Alt 11. Aug 2005, 16:04
Moin,

was meinst du mit Test?
Ich gehe mal davon aus, das du eine SQL-Abfrage meinst. Dann brauchst du irgend ein Feld, dass deine Aufträge genau identifiziert (z.B. eine auftrag_id). Nach dieser kannst du dann gruppieren und die Zeilen zählen.

SQL-Code:
SELECT auftrag_id, COUNT(*) anzahl
FROM tabelle
GROUP BY auftrag_id
Oder habe ich da jetzt was falsch verstanden?

MfG
Thorsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz