Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Connetti SAP IQ a SQL Server

SAP IQ (precedentemente noto come SAP Sybase IQ o Sybase IQ) è un database relazionale ad alte prestazioni progettato specificamente per il data warehousing. Questo prodotto multipiattaforma funziona su diverse piattaforme Unix, Linux e Windows popolari.

SAP IQ può integrare dati provenienti da diverse fonti, non solo database IQ, ma altri database della famiglia Adaptive Server, nonché database non Sybase e file flat.

Questo blog mostra come accedere ai dati di SQL Server da SAP IQ in esecuzione sulla piattaforma Windows.

Passaggi di SQL Server

  1. In SQL Server Management Studio, creare una tabella di esempio per contenere i dati che verranno recuperati da SAP IQ. Ad esempio:
    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')	    
    	
  2. Scarica il driver ODBC di SQL Server per la tua piattaforma Windows. (Registrazione richiesta.)
  3. Installare e concedere in licenza il driver ODBC di SQL Server sul computer Windows in cui è installato SAP IQ.

    Per le istruzioni di installazione, vedere la documentazione del driver ODBC di SQL Server.

  4. In Amministratore origine dati ODBC sul computer SAP IQ, configurare un'origine dati ODBC di sistema che si connetta all'istanza di SQL Server. Nell'origine dati, specificare il database che contiene i dati con cui si desidera lavorare in SAP IQ.

    Un'origine dati ODBC archivia i dettagli di connessione per il database di destinazione (ad es. SQL Server) e il driver ODBC necessario per connettersi ad esso (ad es. il driver ODBC di SQL Server).

    Configurare le origini dati ODBC in Amministratore ODBC, incluso in Windows. Esistono due versioni di ODBC Administrator incluse in Windows, una a 32 bit e l'altra a 64 bit. Poiché SAP IQ è un'applicazione a 64 bit, è necessario utilizzare la versione a 64 bit di ODBC Administrator. Per avviare l'amministratore ODBC a 64 bit, nella finestra di dialogo Esegui Windows, digitare:

    odbcad32.exe

    Per istruzioni sulla configurazione delle origini dati, vedere la documentazione del driver ODBC di SQL Server.

  5. Passaggi SAP QI

    1. Configura il tuo ambiente SAP IQ impostando le variabili di ambiente in SAPIQDIR\SYBASE.bat e SAPIQDIR\SYBASE.ENV .
    2. Aggiungi la directory in cui si trova start_iq al tuo PATH, in modo che lo script di creazione del database di esempio possa eseguire questo comando. Ad esempio:
      set PATH=C:\SAPIQ\IQ-16_1\Bin64;%PATH%
    3. Dire a SAO IQ dove scrivere i file di registro per il database di esempio specificando una posizione della directory del file di registro. Ad esempio:
      set IQ16LOGDIR = C:\Temp
    4. Crea il database di esempio eseguendo mkiqdemo.bat . È necessario impostare un nome utente e una password per il database includendo il -dba e -pwd argomenti. Ad esempio:
      cd C:\ProgramData\SAPIQ\demo
      mkiqdemo.bat -dba myuser -pwd mypassword
    5. Avviare il server SAP IQ:
      start_iq @iqdemo.cfg iqdemo.db
    6. Usa dbisql , l'utilità SQL interattiva di SAP IQ, per connettersi al database di esempio. Ad esempio:
      dbisql -nogui -c "UID=myuser;PWD=mypassword;DATABASE=iqdemo"
    7. Crea un server remoto che utilizzi l'origine dati del driver ODBC di SQL Server creata in precedenza per la connessione a SQL Server.

      È necessario specificare l'accesso a Windows o SQL Server nella stringa di connessione del server remoto. In caso contrario, SAP IQ trasmette il nome utente e la password del database di esempio al driver ODBC di SQL Server.

      Ad esempio:

      CREATE SERVER easysoft
      CLASS 'ODBC'
      USING 'DSN=MYDSN;UID=mydomain\mywindowsuser;PWD=mywindowspassword'
    8. Crea una tabella SAP IQ locale che ti consenta di lavorare con i tuoi dati SQL Server remoti. Utilizzare un nome in quattro parti per specificare la tabella remota, ad esempio:
      remoteserver.database.schema.object

      Per la tabella di esempio di SQL Server creata in precedenza, CREATE EXISTING TABLE l'istruzione sarebbe:

      CREATE EXISTING TABLE Persons(
          PersonID int,
          LastName varchar(255),
          FirstName varchar(255),
          Address varchar(255),City varchar(255)) AT 'easysoft.mydb.dbo.Persons'
    9. Verifica di poter recuperare i dati di SQL Server remoti.
      select * from Persons;