Verwenden Sie die INPUT-Anweisung, um Daten in unterschiedlichen Dateiformaten in vorhandene oder neue Tabellen zu importieren. Wenn Sie die ODBC-Treiber für die Datenbanken installiert haben, verwenden Sie die USING-Klausel, um Daten aus verschiedenen Datenbankentypen und aus verschiedenen Versionen von SQL Anywhere-Datenbanken zu importieren.
Mit der INPUT-Anweisung können Sie Daten in TEXT- und FIXED-Formaten importieren. Zum Importieren von Daten in einem anderen Dateiformat verwenden Sie die USING-Klausel mit einer ODBC-Datenquelle.
Sie können das Standard-Eingabeformat verwenden oder das Dateiformat bei jeder INPUT-Anweisung festlegen. Da die INPUT-Anweisung ein Interactive SQL-Befehl ist, können Sie ihn nicht in zusammengesetzten Anweisungen (wie etwa einer IF-Anweisung) oder in gespeicherten Prozeduren verwenden.
Verwenden Sie die INPUT-Anweisung, wenn Sie Daten aus einer Datei oder aus einer anderen Datenbank importieren wollen.
Weitere Hinweise finden Sie unter INPUT-Anweisung [Interactive SQL].
Bei Sofortansichten wird ein Fehler zurückgegeben, wenn Sie versuchen, einen Massenimport von Daten in eine Basistabelle durchzuführen. Sie müssen die Daten in der Ansicht erst kürzen und können erst dann den Massenimport vornehmen.
Bei manuellen Ansichten können Sie Daten mit einem Massenimport in eine Basistabelle laden. Die Daten in der Ansicht bleiben allerdings bis zur nächsten Aktualisierung veraltet.
Denken Sie daher daran, eine Kürzung in abhängigen materialisierten Ansichten vorzunehmen, bevor Sie einen Massenimport wie z.B. eine INPUT-Anweisung in einer Tabelle versuchen. Nachdem Sie die Daten geladen haben, aktualisieren Sie die Ansicht. Weitere Hinweise finden Sie unter TRUNCATE-Anweisung und REFRESH MATERIALIZED VIEW-Anweisung.
Bei Sofort-Textindizes kann das Aktualisieren eines Textindexes nach dem Massenimport wie etwa einer INPUT-Anweisung in der Basistabelle eine bestimmte Zeit in Anspruch nehmen, auch wenn die Aktualisierung automatisch erfolgt. Bei manuellen Indizes kann sogar die Aktualisierung eine Zeitlang dauern.
Denken Sie daran, abhängige Textindizes zu löschen, bevor Sie einen Massenimport wie eine INPUT-Anweisung für eine Tabelle vornehmen. Nachdem Sie die Daten geladen haben, erstellen Sie den Textindex neu. Weitere Hinweise finden Sie unter DROP TEXT INDEX-Anweisung und CREATE TEXT INDEX-Anweisung.
Wenn Sie die INPUT-Anweisung verwenden, werden Änderungen im Transaktionslog aufgezeichnet. Im Fall eines Datenträgerausfalls steht eine detaillierte Aufzeichnung der Änderungen zur Verfügung. Beim Import großer Datenmengen mit dieser Methode sind allerdings Performance-Auswirkungen zu berücksichtigen, weil alle Zeilen in das Transaktionslog geschrieben werden.
Im Vergleich dazu speichert die LOAD TABLE-Anweisung nicht jede Zeile im Transaktionslog und kann daher schneller als die INPUT-Anweisung sein. Die INPUT-Anweisung hingegen ist flexibler, was die von ihr unterstützten Datenbanken und Dateiformate betrifft.
Erstellen und speichern Sie eine Textdatei namens new_employees.txt mit den folgenden Werten (in einer einzigen Zeile):
101,500,'Chan','Julia',100,'300 Royal Drive', 'Springfield','OR','USA','97015','6175553985', 'A','017239033',55700,'1984-09-29',,'1968-05-05', 1,1,0,'F' |
Öffnen Sie Interactive SQL und stellen Sie eine Verbindung zur SQL Anywhere 11 Demo-Datenbank her.
Geben Sie eine INPUT-Anweisung im Fensterausschnitt SQL-Anweisungen ein.
INPUT INTO Employees FROM c:\new_employees.txt FORMAT TEXT; SELECT * FROM Employees; |
In dieser Anweisung ist der Name der Zieltabelle in der SQL Anywhere 11 Demo-Datenbank "Employees" und new_employees.txt ist der Name der Quelldatei.
Führen Sie die Anweisung aus.
Wenn der Import erfolgreich verläuft, wird auf dem Register Meldungen die Dauer des Importvorgangs angezeigt. Wenn das Importieren fehlschlägt, werden Sie in einer Meldung über den Grund dafür informiert.
Öffnen Sie das Arbeitsblatt in Microsoft Excel.
In Microsoft Excel wählen Sie die Zellen aus, die Sie importieren wollen, und wählen dann Einfügen » Namen » Definieren.
Geben Sie einen Namen für die ausgewählten Zellen, wie z.B. myData, ein.
Klicken Sie auf OK.
Speichern und schließen Sie die Tabellenkalkulation.
Erstellen Sie eine ODBC-Datenquelle für die Tabellenkalkulation.
Wählen Sie Start » Programme » SQL Anywhere 11 » ODBC-Administrator.
Wählen Sie das Register Benutzer-DSN aus, um einen DSN für den aktuellen Benutzer zu erstellen, oder wählen Sie das Register System-DSN, um einen systemweiten DSN zu erstellen.
Klicken Sie auf Add (Hinzufügen).
Wählen Sie aus der Liste der Treiber Microsoft Excel Driver und klicken Sie auf Fertig stellen.
Geben Sie die erforderlichen Parameter an und klicken Sie auf OK, um das Fenster zu schließen und die Datenquelle zu erstellen.
Geben Sie z.B. myExcelFile in das Feld Datenquellenname ein. Klicken Sie auf Arbeitsmappe auswählen und gehen Sie zu Ihrer Excel-Tabellenkalkulationsdatei.
Klicken Sie auf OK, um den DSN zu speichern.
Öffnen Sie Interactive SQL und stellen Sie eine Verbindung zu einer SQL Anywhere-Datenbank her.
Führen Sie die folgende INPUT-Anweisung aus, um die Daten aus der Excel-Tabellenkalkulation zu importieren und in einer neuen Tabelle namens "t" zu speichern:
INPUT USING 'dsn=myExcelFile;DSN=myExcelFile' FROM "myData" INTO "t" CREATE TABLE ON |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |