ImpData-from-DB
このチュートリアルは説明のみを目的としています。チュートリアルに示されている接続文字列は、インストールされたデータベースには接続しません。チュートリアルで説明したプロセスを実行できるように、独自のサーバーに AdventureWorks データベースをセットアップする場合は、この GitHub ページを参照してください。
Originでは、SQLエディタを使ってデータベースからデータをインポートできます。
SQLエディタは、SQLクエリの直接書き込みと編集が可能なエディタです。これは熟練のデータベースユーザにとって非常に便利で、ユーザはSQLスクリプトで LabTalk変数を定義できます。
この機能では、繰り返し使用のためにデータベース接続はODSファイルに保存でき、データベース接続とクエリはODQファイルに保存できます。
このチュートリアルでは、SQLサーバへの接続を構築する方法と、SQLエディタを使用して特定の表から希望のデータを抽出する方法を示します。
このチュートリアルでは、以下の項目について解説します。
サーバマシンnoho上にSQLサーバAdventureWorks2008を予めセットアップ済であることを想定しています。
Provider=SQLOLEDB.1; Password=labtalk2015; Persist Security Info=TRUE; USER ID=CONNECT; Initial Catalog=AdventureWorks2008; DATA SOURCE=noho
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
SQLエディタを使用すると、接続とクエリーは自動でワークシートに保存されます。データベースアクセスツールバーの、データのインポートボタンをクリックすれば、データベースからデータをいつでも再インポートできます。次のように操作してみましょう。
上のサンプルでは、ワシントン州のデータのみインポートしました。しかし、それはコード化されていないので、別の州をクエリーしたい場合、クエリーを変更する必要があります。このセクションでは、州名のLabTalk文字列変数を定義してクエリーを簡単に変更できるようにする方法を示します。
string strCond$ = "Washington";
WHERE sp.name = '%(strCond$)'