Autor |
Beitrag |
moori64
      
Beiträge: 76
|
Verfasst: Do 15.12.11 01:13
hallo,
ich möchte ein txt datei in ein Datenbanktabelle einfügen, leider funktioniert das nicht.
die Datenbanktabelle hat ein id feld und obwohl ich insert identity aktiviert habe möchte er das id feld immer füllen
wie kann ich das umgehen ?
Gruß UWE
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 01:27
Delphi-Quelltext 1:
| Feld.Required := false; |
wenn du das meinen solltest, schwer zu erraten ...
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 09:08
Hallo Thomas ,
ich benutzte das ms sql server managment studio und dort habe ich eine datenbank angelegt und diese will ich von außen
mit einer txt datei füllen. da ich nicht weiß wie das mit quellcode passiert muss ich mit den assitenten arbeiten und wähle dort Flatfile aus und dort ist der Punkt identity insert.
Ich muss ja dort auch die Felder neu Typesieren und da stehen mir auch nicht alle möglichkeiten zur verfügung
Viele Grüße
Uwe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 13:02
Ok und wo genau liegt das Problem, ich habe mal ein paar Screenshots angehängt
Einloggen, um Attachments anzusehen!
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 16:20
Hallo Thomas ,
genau das benutzte ich, wenn ich eine Datei einlese die Kein Feld ID hat und ich bei der Zuweisung ignoriern einstelle dann wird beim einfügen der Tabelle versucht dort ein 0 reinzuschreiben.
Das ist dies im Bild 2-
Und im Bild eins wird mir ja mitgeteilt das die Felder in der Txt datei untypesiert sind und wenn ich vorher ein Feld Double hatte und nun das in Float reinschieben will dann geht das nicht mehr
da ich im Assitenten nicht die Möglichkeit habe so ein Typesierung durchzuführen.
Gruß uwe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 16:36
Wenn Du <ignorieren> einstellst darfst Du IDENTITY_INSERT nicht aktivieren, die ID wird dann automatisch vergeben.
Den Typ kannst wie in Bild 1 unter "Erweitert" einstellen.
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 19:27
das habe ich jetzt gemacht , das problem ist aber das er mir meine spalte id garnicht anzeigt obwohl die in der datenbank vorhanden ist.
nun habe ich noch ein spalte null bei den punkt erweitert eingestellt und dann bin ich auf weiter gegangen und dort hat er mir mein feld id im dropdown feld angeboten.
da bin ich dann auf ignorieren gegangen. er meldet mir aber fehler die ich nicht bekomme wenn ich den assistenten die tabelle erstellen lasse-
lasse ich die tabelle selbst erstellen funktioniert es aber eben ohne id.
brauche ich die denn unbedingt ?
gruß
uwe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 19:55
Es fällt mir schwer Dir zu folgen...
Wenn die Tabelle bereits vorhanden ist und ein ID-Feld mit Identity hat kannst Du alles über das Mapping regeln.
Wenn Du keine Tabelle vorher haben willst kann er Dir nur erstellen was er bekommt, Du kannst im nachhinein eine ID-Spalte im Management Studio einziehen wenn Du sie benötigst (üblicherweise hat man sowas).
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 20:17
Hallo Thomas,
ich bekomme ein Txt datei , dort sind die Felder bereits Typesiert und dort ist kein ID feld , nun habe ich eine Datenbanktabelle erstellt.
Typesiert sind die Felder mit char und float und dort ist dann auch ein id feld eingetragen. nun führe ich den assistenten aus und bekomme es einfach
nicht hin die txt datei im meine datentabelle zu schieben. wenn ich vom system eine tabelle erstellen lasse klappt es. die felder die bei mir in der datenbanktabelle als float
typesiert sind , typesiere ich als gleitkomma mit doppelter genauigkeit.
viele grüße
uwe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 20:26
häng doch mal ein 5 zeilige Textdatei an und einen Script wie die Zieltabelle auszusehen hat ...
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 21:02
so ich habe dir ein pn geschickt.
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 15.12.11 22:32
Also läuft bei mir rein wie Butter, Zuhause habe ich nur Express und konnte es nicht speichern.
Das Mapping lief bis auf wenige Ausnahmen (z.B. LP+ fehlte) automatisch.
Identity_Insert nicht anhaken, da wir ja keine Identityspalte füllen wollen sondern der Server selbst eine Nummer vergeben soll.
Ich schicke Dir noch eine Mail wie ich mir das mit dem Tabellenformat gedacht hatte.
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Do 15.12.11 23:07
Hallo Thomas,
wie hast du den Txt datei typesiert oder einfach so gelassen ?
Viele Grüße
UWe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Fr 16.12.11 00:04
Die Tabelle war ja da, die Mappings passen, man muss eigentlich an der Stelle gar nichts mehr anfassen ....
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
moori64 
      
Beiträge: 76
|
Verfasst: Fr 16.12.11 00:57
Hallo thomas ,
wenn ich das so lasse habe ich aber teilweise keine werte in der tabelle hast du das auch gesehen ?
viele grüße uwe
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Fr 16.12.11 01:17
bei mir war alles da, Du hast eine PN mit einem Accessexport
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|