SAP IQ (voorheen bekend als SAP Sybase IQ of Sybase IQ) is een krachtige relationele database die speciaal is ontworpen voor datawarehousing. Dit platformonafhankelijke product draait op verschillende populaire Unix-, Linux- en Windows-platforms.
SAP IQ kan gegevens uit diverse bronnen integreren, niet alleen IQ-databases, maar ook andere databases in de Adaptive Server-familie, evenals niet-Sybase-databases en platte bestanden.
Deze blog laat zien hoe u toegang krijgt tot SQL Server-gegevens vanuit SAP IQ op het Windows-platform.
SQL Server-stappen
- Maak in SQL Server Management Studio een voorbeeldtabel voor de gegevens die u uit SAP IQ gaat ophalen. Bijvoorbeeld:
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')
- Download het SQL Server ODBC-stuurprogramma voor uw Windows-platform. (Registratie vereist.)
- Installeer en licentieer het SQL Server ODBC-stuurprogramma op de Windows-computer waarop SAP IQ is geïnstalleerd.
Zie de documentatie van het SQL Server ODBC-stuurprogramma voor installatie-instructies.
- Configureer in ODBC Data Source Administrator op uw SAP IQ-machine een System ODBC-gegevensbron die verbinding maakt met uw SQL Server-instantie. Geef in de gegevensbron de database op die de gegevens bevat waarmee u in SAP IQ wilt werken.
Een ODBC-gegevensbron slaat de verbindingsdetails op voor de doeldatabase (bijv. SQL Server) en het ODBC-stuurprogramma dat nodig is om er verbinding mee te maken (bijv. het SQL Server ODBC-stuurprogramma).
U configureert ODBC-gegevensbronnen in ODBC Administrator, dat bij Windows wordt geleverd. Er zijn twee versies van ODBC Administrator bij Windows, één is 32-bits en één is 64-bits. Aangezien SAP IQ een 64-bits toepassing is, moet u de 64-bits versie van ODBC Administrator gebruiken. Om de 64-bits ODBC-beheerder te starten, typt u in het dialoogvenster Uitvoeren van Windows:
odbcad32.exe
Raadpleeg de documentatie van het SQL Server ODBC-stuurprogramma voor instructies over het configureren van gegevensbronnen.
- Stel uw SAP IQ-omgeving in door de omgevingsvariabelen in te stellen in
SAPIQDIR\SYBASE.bat
enSAPIQDIR\SYBASE.ENV
. - Voeg de directory waar start_iq zich bevindt toe aan je PATH, zodat het voorbeeldscript voor het maken van een database deze opdracht kan uitvoeren. Bijvoorbeeld:
set PATH=C:\SAPIQ\IQ-16_1\Bin64;%PATH%
- Vertel SAO IQ waar logbestanden voor de voorbeelddatabase moeten worden weggeschreven door een maplocatie voor logbestanden op te geven. Bijvoorbeeld:
set IQ16LOGDIR = C:\Temp
- Maak de voorbeelddatabase door
mkiqdemo.bat
. uit te voeren . U moet een gebruikersnaam en wachtwoord voor de database instellen door de-dba
en-pwd
argumenten. Bijvoorbeeld:cd C:\ProgramData\SAPIQ\demo mkiqdemo.bat -dba myuser -pwd mypassword
- Start de SAP IQ-server:
start_iq @iqdemo.cfg iqdemo.db
- Gebruik
dbisql
, het interactieve SQL-hulpprogramma SAP IQ, om verbinding te maken met de voorbeelddatabase. Bijvoorbeeld:dbisql -nogui -c "UID=myuser;PWD=mypassword;DATABASE=iqdemo"
- Maak een externe server die gebruikmaakt van de SQL Server ODBC-stuurprogrammagegevensbron die u eerder hebt gemaakt om verbinding te maken met SQL Server.
U moet uw Windows- of SQL Server-aanmelding opgeven in de externe serververbindingsreeks. Anders geeft SAP IQ de gebruikersnaam en het wachtwoord van uw voorbeelddatabase door aan het SQL Server ODBC-stuurprogramma.
Bijvoorbeeld:
CREATE SERVER easysoft CLASS 'ODBC' USING 'DSN=MYDSN;UID=mydomain\mywindowsuser;PWD=mywindowspassword'
- Maak een lokale SAP IQ-tabel waarmee u met uw externe SQL Server-gegevens kunt werken. Gebruik een vierdelige naam om de externe tabel op te geven, bijvoorbeeld:
remoteserver.database.schema.object
Voor de SQL Server-voorbeeldtabel die we eerder hebben gemaakt, is de
CREATE EXISTING TABLE
verklaring zou zijn:CREATE EXISTING TABLE Persons( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255),City varchar(255)) AT 'easysoft.mydb.dbo.Persons'
- Controleer of u uw externe SQL Server-gegevens kunt ophalen.
select * from Persons;