SAP IQ (früher bekannt als SAP Sybase IQ oder Sybase IQ) ist eine leistungsstarke relationale Datenbank, die speziell für Data Warehousing entwickelt wurde. Dieses plattformübergreifende Produkt läuft auf mehreren beliebten Unix-, Linux- und Windows-Plattformen.
SAP IQ kann Daten aus verschiedenen Quellen integrieren, nicht nur IQ-Datenbanken, sondern auch andere Datenbanken der Adaptive Server-Familie sowie Nicht-Sybase-Datenbanken und Flatfiles.
Dieser Blog zeigt, wie Sie auf SQL Server-Daten von SAP IQ zugreifen, das auf der Windows-Plattform ausgeführt wird.
SQL Server-Schritte
- Erstellen Sie in SQL Server Management Studio eine Beispieltabelle für die Daten, die Sie aus SAP IQ abrufen. Zum Beispiel:
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')
- Laden Sie den SQL Server ODBC-Treiber für Ihre Windows-Plattform herunter. (Anmeldung erforderlich.)
- Installieren und lizenzieren Sie den SQL Server ODBC-Treiber auf dem Windows-Rechner, auf dem SAP IQ installiert ist.
Installationsanweisungen finden Sie in der Dokumentation zum SQL Server-ODBC-Treiber.
- Konfigurieren Sie im ODBC-Datenquellen-Administrator auf Ihrem SAP IQ-Rechner eine System-ODBC-Datenquelle, die eine Verbindung zu Ihrer SQL Server-Instanz herstellt. Geben Sie in der Datenquelle die Datenbank an, die die Daten enthält, mit denen Sie in SAP IQ arbeiten möchten.
Eine ODBC-Datenquelle speichert die Verbindungsdetails für die Zieldatenbank (z. B. SQL Server) und den für die Verbindung erforderlichen ODBC-Treiber (z. B. den SQL Server ODBC-Treiber).
Sie konfigurieren ODBC-Datenquellen im ODBC-Administrator, der in Windows enthalten ist. Es gibt zwei Versionen von ODBC Administrator, die in Windows enthalten sind, eine 32-Bit- und eine 64-Bit-Version. Da SAP IQ eine 64-Bit-Anwendung ist, müssen Sie die 64-Bit-Version des ODBC-Administrators verwenden. Geben Sie zum Starten des 64-Bit-ODBC-Administrators im Windows-Dialogfeld „Ausführen“ Folgendes ein:
odbcad32.exe
Anweisungen zum Konfigurieren von Datenquellen finden Sie in der Dokumentation zum SQL Server-ODBC-Treiber.
- Richten Sie Ihre SAP IQ-Umgebung ein, indem Sie die Umgebungsvariablen in
SAPIQDIR\SYBASE.bat
undSAPIQDIR\SYBASE.ENV
. - Fügen Sie das Verzeichnis, in dem sich start_iq befindet, zu Ihrem PATH hinzu, damit das Beispiel-Datenbankerstellungsskript diesen Befehl ausführen kann. Zum Beispiel:
set PATH=C:\SAPIQ\IQ-16_1\Bin64;%PATH%
- Teilen Sie SAO IQ mit, wohin die Protokolldateien für die Beispieldatenbank geschrieben werden sollen, indem Sie einen Speicherort für das Protokolldateiverzeichnis angeben. Zum Beispiel:
set IQ16LOGDIR = C:\Temp
- Erstellen Sie die Beispieldatenbank, indem Sie
mkiqdemo.bat
ausführen . Sie müssen einen Datenbank-Benutzernamen und ein Passwort festlegen, indem Sie den-dba
einfügen und-pwd
Argumente. Beispiel:cd C:\ProgramData\SAPIQ\demo mkiqdemo.bat -dba myuser -pwd mypassword
- Starten Sie den SAP IQ-Server:
start_iq @iqdemo.cfg iqdemo.db
- Verwenden Sie
dbisql
, das interaktive SQL-Dienstprogramm von SAP IQ, um eine Verbindung zur Beispieldatenbank herzustellen. Beispiel:dbisql -nogui -c "UID=myuser;PWD=mypassword;DATABASE=iqdemo"
- Erstellen Sie einen Remote-Server, der die zuvor erstellte Datenquelle des SQL Server-ODBC-Treibers verwendet, um eine Verbindung zu SQL Server herzustellen.
Sie müssen Ihre Windows- oder SQL Server-Anmeldung in der Remote-Server-Verbindungszeichenfolge angeben. Andernfalls übergibt SAP IQ Ihren Benutzernamen und Ihr Kennwort für die Beispieldatenbank an den SQL Server-ODBC-Treiber.
Zum Beispiel:
CREATE SERVER easysoft CLASS 'ODBC' USING 'DSN=MYDSN;UID=mydomain\mywindowsuser;PWD=mywindowspassword'
- Erstellen Sie eine lokale SAP IQ-Tabelle, die es Ihnen ermöglicht, mit Ihren entfernten SQL Server-Daten zu arbeiten. Verwenden Sie einen vierteiligen Namen, um die entfernte Tabelle anzugeben, z. B.:
remoteserver.database.schema.object
Für die SQL Server-Beispieltabelle, die wir zuvor erstellt haben, die
CREATE EXISTING TABLE
Anweisung wäre:CREATE EXISTING TABLE Persons( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255),City varchar(255)) AT 'easysoft.mydb.dbo.Persons'
- Überprüfen Sie, ob Sie Ihre Remote-SQL-Server-Daten abrufen können.
select * from Persons;