Condividi tramite


Provider OLE DB per DB2

Il provider Microsoft OLE DB per DB2, distribuito con Microsoft Host Integration Server 2004, supporta l'esecuzione di query distribuite di SQL Server 2005 nei dati di database DB2.

[!NOTA] Il provider OLE DB Provider per DB2 è disponibile con SQL Server 2005. Per informazioni sulla procedura di installazione e configurazione del provider OLE DB, vedere la documentazione inclusa con il provider.

Per creare un server collegato per l'accesso a un database DB2

  1. Installare il software client Host Integration Server 2004 su un computer sul quale è in esecuzione un'istanza di SQL Server e selezionare le opzioni per installare il provider OLE DB per DB2.

  2. Determinare la stringa di connessione che il provider OLE DB per DB2 deve utilizzare per l'accesso all'origine dei dati DB2 in cui eseguire la query. Il modo migliore per determinare una stringa di connessione consiste nel creare un file di collegamento dati tramite l'applicazione New OLE DB Data Source di Host Integration Server. Per ulteriori informazioni, vedere la documentazione di Microsoft Host Integration Server 2004.

  3. Eseguire sp_addlinkedserver per creare un server collegato, specificando DB2COLEDB per l'argomento provider_name, il nome del catalogo DB2 contenente i dati a cui si desidera accedere per l'argomento catalog e la stringa di connessione indicata nel passaggio 2 per l'argomento provider_string.

    Nell'esempio seguente viene illustrato come utilizzaresp_addlinkedserver per creare la definizione di un server collegato che accede a un database DB2:

    EXEC sp_addlinkedserver @server = 'DB2SRV',
       @srvproduct = 'Microsoft OLE DB Provider for DB2',
       @catalog = 'SEATTLE',
       @provider = 'DB2OLEDB',
       @provstr =
         'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL;
          ModeName=QPCSUPP;InitCat=SEATTLE;
          Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;
          IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;
          Data Source=Seattle_WNW3XX'
    
  4. Eseguire sp_addlinkedsrvlogin per creare i mapping degli account di accesso tra gli account di accesso di SQL Server 2005 e gli account di accesso DB2.

    Nell'esempio seguente, l'account di accesso di SQL Server SQLJoe viene mappato all'account di accesso DB2 DB2Joe:

    EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
    

    [!NOTA] Le password verranno trasmesse non crittografate e possono quindi essere visibili nelle definizioni delle origini dei dati e negli script salvati su disco, nei backup e nei file di log. Non utilizzare mai una password di amministratore per questo tipo di connessioni. Per ulteriori informazioni sulla protezione specifiche del proprio ambiente, consultare l'amministratore di rete.

Dopo avere eseguito questa procedura, è possibile utilizzare il nome del server collegato DB2SRV come nome del server in un nome composto da quattro parti e come argomento linked_server nella funzioneOPENQUERY. Ad esempio:

SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT

Oppure

SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')

Se le query distribuite eseguite sulle origini dei dati DB2 prevedono confronti di valori NULL, utilizzare ISNULL o IS NOT NULL anziché gli operatori di confronto, quali uguale a (=), maggiore di (>) o minore di (<). Nelle istruzioni INSERT è inoltre necessario specificare valori per tutte le colonne di una tabella, anche per le colonne NULL o con valori predefiniti.

Vedere anche

Concetti

Provider OLE DB testati con SQL Server
Query distribuite

Altre risorse

sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005