SAP IQ(旧称SAP SybaseIQまたはSybaseIQ)は、データウェアハウジング用に特別に設計された高性能のリレーショナルデータベースです。このクロスプラットフォーム製品は、いくつかの一般的なUnix、Linux、およびWindowsプラットフォームで動作します。
SAP IQは、IQデータベースだけでなく、Adaptive Serverファミリの他のデータベース、およびSybase以外のデータベースやフラットファイルなど、さまざまなソースからのデータを統合できます。
このブログは、Windowsプラットフォームで実行されているSAPIQからSQLServerデータにアクセスする方法を示しています。
SQLServerの手順
- SQL Server Management Studioで、SAPIQから取得するデータを保持するサンプルテーブルを作成します。例:
CREATE DATABASE mydb USE mydb CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) ); INSERT INTO Persons VALUES(1,'Name', 'My', 'MyAddress', 'MyCity')
- Windowsプラットフォーム用のSQLServerODBCドライバーをダウンロードします。 (登録が必要です。)
- SAPIQがインストールされているWindowsマシンにSQLServerODBCドライバーをインストールしてライセンスを取得します。
インストール手順については、SQLServerODBCドライバーのドキュメントを参照してください。
- SAP IQマシンのODBCデータソースアドミニストレータで、SQLServerインスタンスに接続するシステムODBCデータソースを設定します。データソースで、SAPIQで使用するデータを保持するデータベースを指定します。
ODBCデータソースには、ターゲットデータベース(SQL Serverなど)とそれに接続するために必要なODBCドライバー(SQL Server ODBCドライバーなど)の接続の詳細が格納されます。
ODBCデータソースは、Windowsに含まれているODBCAdministratorで構成します。 Windowsに含まれているODBCAdministratorには2つのバージョンがあります。1つは32ビットで、もう1つは64ビットです。 SAP IQは64ビットアプリケーションであるため、64ビットバージョンのODBCAdministratorを使用する必要があります。 64ビットODBCアドミニストレーターを起動するには、[Windowsの実行]ダイアログボックスで、次のように入力します。
odbcad32.exe
データソースの構成手順については、SQLServerODBCドライバーのドキュメントを参照してください。
-
SAPIQDIR\SYBASE.bat
およびSAPIQDIR\SYBASE.ENV
。 - start_iqが配置されているディレクトリをPATHに追加して、サンプルデータベース作成スクリプトがこのコマンドを実行できるようにします。例:
set PATH=C:\SAPIQ\IQ-16_1\Bin64;%PATH%
- ログファイルディレクトリの場所を指定して、サンプルデータベースのログファイルを書き込む場所をSAOIQに指示します。例:
set IQ16LOGDIR = C:\Temp
-
mkiqdemo.bat
を実行してサンプルデータベースを作成します 。-dba
を含めて、データベースのユーザー名とパスワードを設定する必要があります および-pwd
引数。例:cd C:\ProgramData\SAPIQ\demo mkiqdemo.bat -dba myuser -pwd mypassword
- SAP IQサーバーを起動します:
start_iq @iqdemo.cfg iqdemo.db
-
dbisql
を使用する 、SAP IQインタラクティブSQLユーティリティ、サンプルデータベースに接続します。例:dbisql -nogui -c "UID=myuser;PWD=mypassword;DATABASE=iqdemo"
- 前に作成したSQLServerODBCドライバーデータソースを使用してSQLServerに接続するリモートサーバーを作成します。
リモートサーバー接続文字列でWindowsまたはSQLServerのログインを指定する必要があります。それ以外の場合、SAPIQはサンプルデータベースのユーザー名とパスワードをSQLServerODBCドライバーに渡します。
例:
CREATE SERVER easysoft CLASS 'ODBC' USING 'DSN=MYDSN;UID=mydomain\mywindowsuser;PWD=mywindowspassword'
- リモートSQLServerデータを操作できるようにするローカルSAPIQテーブルを作成します。 4つの部分からなる名前を使用して、リモートテーブルを指定します。例:
remoteserver.database.schema.object
以前に作成したサンプルSQLServerテーブルの場合、
CREATE EXISTING TABLE
ステートメントは次のようになります。CREATE EXISTING TABLE Persons( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255),City varchar(255)) AT 'easysoft.mydb.dbo.Persons'
- リモートSQLServerデータを取得できることを確認します。
select * from Persons;