Hat jemand anderes dasselbe Problem, wenn Sie Daten aus einer Excel-Datei in MSSQL Server 2005 importieren, wenn eine Spalte hauptsächlich numerische Daten enthält, aber selbst wenn Sie den Spaltentyp auf varchar setzen, kann der Assistent diese Felder nicht importieren nicht als Zahlen analysieren?
Versuchen Sie es (Hinweis: Diese Anweisungen basieren auf Excel 2007) ...
Die folgenden Schritte sollten Excel zwingen, die Spalte als Text zu behandeln:
Öffnen Sie Ihre Tabelle mit Excel.
Wählen Sie die gesamte Spalte, die Ihre "meist numerischen Daten" enthält, indem Sie auf die Spaltenüberschrift klicken.
Klicken Sie auf die Registerkarte Daten im Menüband.
Wählen Sie Text in Spalten. Dadurch wird der Assistent "Text in Spalten konvertieren" angezeigt.
-On Schritt 1: Klicken Sie auf Weiter
-On Schritt 2: Klicken Sie auf Weiter
-On Schritt 3: Wählen Sie Text und klicken Sie auf Fertig stellen
Speichern Sie Ihre Excel-Tabelle.
Wiederholen Sie den Import mithilfe des SQL Server 2005-Assistenten zum Importieren von Daten.
Sie müssen die Verbindungszeichenfolge bearbeiten, die SSIS verwendet. Fügen Sie dies an das Ende der Zeichenfolge "IMEX = 1;" (Keine Anführungszeichen) Das sagt SSIS / Jet, nicht zu versuchen, herauszufinden, was die Datentypen sind. Importieren Sie sie einfach.
Sie könnten versuchen, Jet-Einstellungen für den Import von Excel-Daten zu optimieren. Sie können erzwingen, dass die Jet-Engine das gesamte Blatt abfragt, wenn Sie während eines bestimmten Imports den Spaltentyp ermitteln möchten. Ändern Sie den folgenden Registrierungsschlüssel (nachdem Sie zuerst eine Sicherung erstellt haben) und prüfen Sie, ob dies nicht der Fall ist:
%Vor%Oder auf x64
%Vor%Legen Sie den Wert TypeGuessRows gleich null fest. Dadurch wird Jet gezwungen, alle Zeilen zu prüfen, um den Spaltentyp zu bestimmen.
Erstellen Sie eine neue Spalte, die ein Apostift + der Inhalt der Spalte ist, die Sie importieren möchten. Dadurch wird es gezwungen, eine Zeichenfolge zu sein
="'" & amp; E2
Hinzufügen von IMEX = 1 VOR die HDR-Einstellung funktionierte für mich.
Dies ist die beste Lösung:
Klicken Sie im Menüband auf Datei und dann auf Optionen.
Klicken Sie auf Erweitert und dann unter Bei der Berechnung dieser Arbeitsmappe aktivieren Sie das Kontrollkästchen Genauigkeit festlegen als angezeigt, und klicken Sie dann auf OK.
Klicken Sie auf OK.
Wählen Sie im Arbeitsblatt die Zellen aus, die Sie formatieren möchten.
Klicken Sie auf der Registerkarte Start auf das Symbol Startbildschirm-Schaltfläche neben Nummer.
Klicken Sie im Feld Kategorie auf Nummer.
Geben Sie im Feld Dezimalstellen die Anzahl der Dezimalstellen ein Sie möchten anzeigen.
Tags und Links sql-server-2005 ssis import-from-excel