Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Textdateien fest mit einem SQL-Server verbinden (https://www.delphipraxis.net/51316-textdateien-fest-mit-einem-sql-server-verbinden.html)

omata 10. Aug 2005 16:34

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

marabu 10. Aug 2005 21:53

Re: Textdateien fest mit einem SQL-Server verbinden
 
Zitat:

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

Ati 11. Aug 2005 08:52

Re: Textdateien fest mit einem SQL-Server verbinden
 
Liste der Anhänge anzeigen (Anzahl: 2)
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

marabu 11. Aug 2005 09:36

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

Ati 11. Aug 2005 09:53

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

marabu 11. Aug 2005 11:02

Re: Textdateien fest mit einem SQL-Server verbinden
 
Du verrätst mal wie du importierst und ich sage dir (wenn möglich) wie du Filtern kannst - ist das fair?

Ati 11. Aug 2005 11:13

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

marabu 11. Aug 2005 12:20

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

Ati 11. Aug 2005 14:47

Re: Textdateien fest mit einem SQL-Server verbinden
 
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

omata 11. Aug 2005 17:04

Re: Textdateien fest mit einem SQL-Server verbinden
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz