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
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.
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.
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 utilizzare
sp_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'
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 DB2DB2Joe
: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)