Daten aus einer Datenbank importieren

Zusammenfassung

In Origin können Sie den SQL-Editor verwenden, um Daten aus einer Datenbank zu importieren.

Der SQL-Editor ist ein Editor zum direkten Schreiben und Bearbeiten der SQL-Abfrage. Er ist sehr bequem in der Anwendung für Anwender, die mit Datenbanken vertraut sind.

Anwender können mit ihm auch LabTalk-Variablen im SQL-Skript definieren.

In diesem Hilfsmittel kann die Datenbankverbindung als ODS-Datei gespeichert werden und die Datenbankverbindung und Anfrage kann für die zukünftige Verwendung als ODQ-Datei gespeichert werden.

Dieses Tutorial zeigt Ihnen, wie Sie die Verbindung zu einem SQL-Server herstellen und die gewünschten Daten aus festgelegten Tabellen mit dem SQL-Editor extrahieren. Die SQL-Datenbank, die hier verwendet wird, ist die AdventureWorks-Datenbank. Einzelheiten dazu, wie eine AdventureWorks-Datenbank verbunden wird, finden Sie auf der Webseite von CodePlex.

Die Schritte im Tutorial dienen nur Demonstrationszwecken, was Anwender lokal mit ihrer Datenbank machen könnten. Bitte befolgen Sie die Schritte nicht.

Was Sie lernen werden

Dieses Tutorial zeigt Ihnen, wie Sie:

  • Daten aus einer Datenbank mit dem SQL-Editor importieren.
  • Daten erneut importieren.
  • LabTalk-Unterstützung im SQL-Editor

Schritte

Angenommen, Sie haben bereits einen SQL-Server mit dem Namen AdventureWorks2008 auf einem Server noho eingerichtet.

Daten mit dem SQL-Editor importieren

  1. Öffnen Sie ein neues Projekt. Öffnen Sie den SQL-Editor, indem Sie auf die Schaltfläche SQL-Editor öffnen auf der Symbolleiste Datenbankzugriff klicken.
    ImportDataDatabase 1.png
  2. SQL Editor Dialog1.png
  3. Jetzt stellen Sie die Verbindung zu der Datenbank AdventureWorks2008R2 her. Klicken Sie auf die Schaltfläche Db editor connect.png oder wählen Sie im Menü Datei: Neu..., um den Dialog Datenverknüpfungseigenschaften aufzurufen.
  4. Wählen Sie den Microsoft OLE DB Provider for SQL Server auf der Registerkarte Provider. Klicken Sie auf die Schaltfläche Weiter >>.
    SQL Editor Dialog2.png
  5. Legen Sie auf der aktiven Registerkarte Verbindung die Serverinformationen fest, einschließlich Servername, Benutzername und Passwort (ggf., in diesem Beispiel labtalk2015) und Datenbankname. Klicken Sie auf Verbindung testen, um sicher zu stellen, dass die Verbindung erfolgreich besteht.
    SQL Editor Dialog3.png
  6. Klicken Sie auf OK. Alle Tabellen in der Datenbank AdventureWorks2008R2 werden im linken Bedienfeld auf gelistet. Die Verbindungszeichenkette befindet sich auf der Registerkarte Nachricht
    SQL Editor Dialog4.png
  7. Alternative: Wenn Sie bereits eine Verbindungszeichenkette haben, können Sie Datei: Verbindungszeichenkette bearbeiten im Menü wählen, um den Dialog Verbindungszeichenketteneditor zu öffnen. Geben Sie die folgende SQL-Zeichenkette ein und klicken Sie dann auf OK, um die Verbindung herzustellen:

    		Provider=SQLOLEDB.1; Password=labtalk2015; Persist Security Info=TRUE; USER ID=CONNECT; Initial Catalog=AdventureWorks2008; DATA SOURCE=noho
    		
    	
  8. Wählen Sie Datei: Verbindung speichern unter, um die Datenquelldatei als MyDataSource.ods zu speichern.
  9. Jetzt extrahieren Sie Daten aus 9 Tabellen, um die Mitarbeiterliste zu erstellen. Sie können das SQL-Skript neu schreiben. Klicken Sie doppelt auf den Knoten im linken Bedienfeld. Sie erhalten Unterstützung beim Hinzufügen der Tabelle und des Feldnamens im Editor. Kopieren Sie vorerst die folgenden SQL-Skripte in das rechte Bedienfeld.
    		SELECT e.BusinessEntityID, p.Title, p.FirstName, p.MiddleName, p.LastName, p.Suffix, e.JobTitle, pp.PhoneNumber, pnt.Name AS PhoneNumberType, ea.EmailAddress, p.EmailPromotion, a.AddressLine1, a.AddressLine2, a.City, sp.Name AS StateProvinceName, a.PostalCode, cr.Name AS CountryRegionName, p.AdditionalContactInfo FROM HumanResources.Employee AS e INNER JOIN Person.Person AS p ON p.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.BusinessEntityAddress AS bea ON bea.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = bea.AddressID INNER JOIN Person.StateProvince AS sp ON sp.StateProvinceID = a.StateProvinceID INNER JOIN Person.CountryRegion AS cr ON cr.CountryRegionCode = sp.CountryRegionCode LEFT OUTER JOIN Person.PersonPhone AS pp ON pp.BusinessEntityID = p.BusinessEntityID LEFT OUTER JOIN Person.PhoneNumberType AS pnt ON pp.PhoneNumberTypeID = pnt.PhoneNumberTypeID LEFT OUTER JOIN Person.EmailAddress AS ea ON p.BusinessEntityID = ea.BusinessEntityID WHERE sp.Name='Washington' ORDER BY e.BusinessEntityID
    		
    	
  10. Klicken Sie auf die Schaltfläche Ergebnisdaten in Vorschau zeigen SQL editor preview.png, um die Daten in der Vorschau zu sehen. Wenn die Vorschau gut aussieht, klicken Sie auf die Schaltfläche Daten in Arbeitsblatt importieren Button db Import Data.png, um diese Daten zu importieren. Sobald sie importiert wurden, wird das Arbeitsblatt mit dem Datenblatt verbunden und ein gelbes Symbol wird oben links im Arbeitsblatt angezeigt.
    SQL Editor Dialog19.png
  11. Wählen Sie Datei: Verbindung und Anfrage speichern unter im Menü, um die Verbindung und die Abfrage als MyQuery.odq zu speichern. Schließen Sie den SQL-Editor.

Aus Datenbank erneut importieren

Nachdem Sie den SQL-Editor zum Importieren von Daten aus einer Datenbank verwendet haben, werden die Verbindung und die Abfrage automatisch im Arbeitsblatt gespeichert. Sie können jederzeit auf die Schaltfläche Daten importieren Button db Import Data.png auf der Symbolleiste Datenbankzugriff klicken, um Daten aus der Datenbank erneut zu importieren. Versuchen Sie die folgenden Schritte.

  1. Löschen Sie einige Daten im Arbeitsblatt mit Datenbankverbindung.
  2. Klicken Sie auf die Schaltfläche Daten importieren Button db Import Data.png. Die Daten sollten zurück sein.
  3. Um die Datenbank in eine neue Arbeitsmappe zu importieren, wählen Sie im Menü Datei: Datenbankimport. Alle gespeicherten ODQ-Dateien werden hier aufgelistet.
  4. Wählen Sie MyQuery.ODQ. Es wird eine neue Arbeitsmappe mit Daten aus der Datenbank erstellt.
  1. Wenn Ihre Datenbank groß ist, wird die gespeicherte Datei der Arbeitsmappe groß sein. Sie können Worksheet: Worksheet löschen wählen, um die Daten zu löschen und dann die Arbeitsmappe zu speichern. Später können Sie die Arbeitsmappe laden und auf die Schaltfläche Vorschau der Ergebnisdaten zeigen SQL editor preview.png klicken, um eine Vorschau für 50 Zeilen der Daten zu zeigen, oder Sie klicken auf die Schaltfläche Daten importieren Button db Import Data.png, um aus der Datenbank zu importieren.
  2. Wenn Sie die Abfrage ändern müssen, klicken Sie bei aktivem Arbeitsblatt auf die Schaltfläche SQL-Editor Button Open SQL Editer.png.

LabTalk-Unterstützung im SQL-Editor

In den obigen Beispielen wurden nur die Daten für den Bundesstaat Washington importiert. Es handelt sich jedoch um einen Code. Wenn Sie eine Abfrage für einen anderen Bundesstaat durchführen möchten, müssen Sie die Abfrage ändern. In diesem Abschnitt erfahren Sie, wie eine Labtalk-Zeichenkettenvariable für einen Bundesstaatsnamen definiert wird, so dass es in Zukunft einfacher ist, die Abfrage zu ändern.

  1. Öffnen Sie ein neues Projekt. Wählen Sie Datei: Datenbankimport: MyQuery.ODQ, um die Daten direkt in das Arbeitsblatt zu importieren.
  2. Klicken Sie auf die Schaltfläche SQL-Editor öffnen Button Open SQL Editer.png, um den SQL-Editor zu öffnen.
  3. Wählen Sie Anfrage: LabTalk..., um den Dialog Einstellungen der Unterstützung von LabTalk zu öffnen und eine LabTalk-Zeichenkettenvariable hinzuzufügen.
    SQL Editor Dialog8.png


  4. Aktivieren Sie das Kontrollkästchen Substitution durch LabTalk (%,$) aktivieren.
  5. Geben Sie das Skript unten ein, um eine LabTalk-Zeichenkettenvariable strCond zu definieren, die Washington State repräsentiert.
    		string strCond$ = "Washington";
    		
    	
    in dem Feld Skript vor Anfrage ein. Klicken Sie auf OK.
    SQL Editor Dialog9.png
  6. Ändern Sie am Ende des SQL-Skripts im rechten Bedienfeld die Anweisung WHERE in
    		 WHERE sp.name = '%(strCond$)'
    		
    	
  7. Klicken Sie auf die Schaltfläche Db editor labtalk.png, um eine Vorschau der SQL-Abfragezeichenkette mit substituierter LabTalk-Variable im Feld des SQL-Editors anzuzeigen.
    SQL Editor Dialog10.png
  8. Klicken Sie auf die Schaltfläche Daten in Arbeitsblatt importieren Button db Import Data.png, um diese Daten zu importieren. Schließen Sie den Dialog und wählen Sie Ja, um die SQL-Abfrage erneut im Arbeitsblatt zu speichern.
  9. Von nun an müssen Sie nur den Wert für strCond$ im Dialog Einstellungen der Unterstützung von LabTalk ändern, um den Namen des Bundesstaats zu ändern. Die SQL-Abfrage muss nicht mehr geändert werden.