Condividi tramite


Oggetti OLE DB utilizzati dalle query distribuite

Nella tabella seguente vengono illustrati gli oggetti e le interfacce OLE DB utilizzati dalle query distribuite Transact-SQL. Per poter essere utilizzato nelle query distribuite Transact-SQL, un provider OLE DB deve supportare un gruppo minimo di oggetti e interfacce. Tali oggetti e interfacce sono contrassegnati con nella colonna Necessario della tabella. Gli oggetti e le interfacce contrassegnati con No nella colonna Necessario sono necessari solo per il supporto delle funzionalità avanzate delle query distribuite. Se l'interfaccia non è supportata dal provider, non è supportata nemmeno la relativa funzionalità Transact-SQL. Ad esempio, se le interfacce IRowsetLocate e IRowsetChange non sono supportate, le istruzioni UPDATE e DELETE non funzionano correttamente nelle tabelle remote.

Oggetto

Interfaccia

Necessario

Descrizione

Data Source

IDBInitialize

Inizializza e imposta il contesto dei dati e di protezione.

 

IDBCreateSession

Crea un oggetto DB Session.

 

IDBProperties

Ottiene informazioni sulle funzionalità del provider e imposta le proprietà di inizializzazione.

 

IDBInfo

No

Ottiene informazioni sulla sintassi SQL supportata dal provider.

DB Session

IDBSchemaRowset

No

Ottiene i metadati della tabella e delle colonne. I set di righe necessari sono TABLES e COLUMNS. Gli altri set di righe utilizzati, se disponibili, sono TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES e COLUMN_PRIVILEGES.

 

IOpenRowset

Apre un set di righe su una tabella, un indice o un istogramma.

 

IGetDataSource

Torna all'oggetto origine dei dati da un oggetto DB Session.

 

IDBCreateCommand

No

Crea un oggetto Command (query).

 

ITransactionLocal

No

Avvia una transazione nel provider.

 

ITransactionJoin

No

Viene utilizzata per il supporto di transazioni distribuite. Se questa interfaccia non è supportata, in una transazione utente non sono consentiti gli aggiornamenti su un provider remoto.

Rowset (in una tabella)

IRowset

Esegue la scansione delle righe.

 

IAccessor

Esegue le associazioni alle colonne di un set di righe.

 

IColumnsInfo

Ottiene informazioni sulle colonne di un set di righe.

 

IRowsetInfo

Ottiene informazioni sulle proprietà di un set di righe.

 

IRowsetLocate

No

Necessaria per operazioni UPDATE o DELETE e ricerche basate su indici.

 

IRowsetChange

No

Necessaria per operazioni INSERT, UPDATE o DELETE in una tabella. Per il supporto delle istruzioni INSERT, UPDATE o DELETE, i set di righe per le tabelle di base devono supportare questa interfaccia.

 

IConvertType

Verifica se un set di righe supporta le conversioni di tipi di dati specifici nelle relative colonne.

Rowset (in un indice)

IRowset

Esegue la scansione delle righe.

 

IAccessor

Esegue le associazioni alle colonne di un set di righe.

 

IColumnsInfo

Ottiene informazioni sulle colonne di un set di righe.

 

IRowsetInfo

Ottiene informazioni sulle proprietà di un set di righe.

 

IRowsetIndex

È necessaria per i set di righe in un indice. Viene utilizzata per la funzionalità di indicizzazione (impostazione di intervalli, ricerca).

 

IConvertType

Verifica se un set di righe supporta le conversioni di tipi di dati specifici nelle relative colonne.

Command (facoltativo)

ICommand

Viene utilizzata per eseguire query.

 

ICommandText

Viene utilizzata per la definizione del testo delle query.

 

ICommandProperties

Specifica le proprietà necessarie per i set di righe restituiti dal comando.

 

ICommandWithParameters

No

Viene utilizzata per l'esecuzione di query con parametri.

 

ICommandPrepare

No

Viene utilizzata per preparare un comando per il recupero di metadati.

Error (facoltativo)

IErrorRecords

Ottiene un puntatore a un'interfaccia IErrorInfo per un record di errore.

 

IErrorInfo

Ottiene una descrizione di un record di errore.

Qualsiasi oggetto (facoltativo)

ISupportErrorInfo

No

Determina se un'interfaccia specificata supporta gli oggetti errore.