La Connection consente di stabilire una connessione con una
"sorgente dati" (database), essa fornisce un meccanismo per
inizializzare il collegamento, eseguire query ed utilizzare
le transazioni sul sottostante database.
Il driver di database che viene utilizzato non e' necessario che sia
un driver ODBC, possono essere utilizzati driver di ogni genere purche'
supportino le corrette interfacce di connessione con ADO.
Il metodo
Open della Connection consente di stabilire
la connessione con il database, con ODBC, una applicazione puo'
utilizzare le informazioni memorizzate nel Pannello di Controllo per
stabilire la connessione senza dover specificare informazioni aggiuntive,
nel caso e' possibile usare un driver ODBC specificando tutti i
parametri di connessione direttamente, evitando cosi' la necessita'
di configurare la connessione nel Pannello di Controllo ma usando
ugualmente l'interfaccia verso ODBC per la comunicazione, in questo
caso si parla di connessione DSN-Less.
Prima di stabilire una connessione, una applicazione deve impostare
una Stringa di Connessione, specificando i parametri necessari
(timeout, database, attributi vari).
Le transazioni possono essere controllate tramite l'oggetto
Connection mediante i metodi
BeginTrans,
CommitTrans e
RollbackTrans.
Torna alla mappa
Attributes
|
E' di lettura/scrittura e consente di impostare svariate
caratteristiche dell'oggetto connessione. Il suo valore e' la
combinazione di una o piu' costanti:
- adXactCommitRetaining
Esegue una conferma, vale a dire che quando si richiama
CommitTrans viene automaticamente avviata una nuova
transazione.
Non e' supportata da tutti i driver di database.
- adXactAbortRetaining
Esegue un'interruzione, vale a dire che quando si richiama
RollbackTrans viene automaticamente avviata una nuova
transazione.
Non e' supportata da tutti i driver di database.
|
CommandTimeout
|
Indica il tempo da attendere prima di ritornare un errore di
"tempo scaduto per l'operazione". Il valore deve essere indicato
in secondi. Il default e' di 30 secondi.
|
ConnectionString
|
Questa proprieta' e' di lettura/scrittura e consente l'impostazione
o il reperimento della stringa di connessione che viene usata
per accedere al database.
La stringa di connessione e' in genere composta da una serie di
parametri specificati come parametro=valore;
ADO supporta quattro parametri per la proprieta' ConnectionString.
Eventuali altri paraemetri sono passati direttamente al provider
senza essere elaborati. I parametri supportati sono i seguenti:
- Provider=
Specifica il nome di un provider (driver) da utilizzare per
la connessione.
- File Name=
Specifica il nome di un file specifico del provider, ad esempio
un oggetto di fonte dati che deve rimanere fisso, contenente
informazioni di connessione preimpostate.
- Remote Provider
Specifica il nome di un provider da utilizzare quando viene
aperta una connessione del client. Solo per Remote Data
Service.
- Remote Server=
Specifica il nome di percorso del server da utilizzare quando
viene aperta una connessione del client. Solo per Remote Data
Service.
Se si utilizza la stringa di connessione nel metodo Open, questa
stringa sostituira' quella indicata nella ConnectionString.
|
ConnectionTimeOut
|
Indica il tempo di attesa da considerare durante il tentativo di
stabilire una connessione prima di terminare il tentativo e
generare un errore.
Il valore va' indicato in secondi, lo standard e' 15 secondi.
|
CursorLocation
|
Imposta o restituisce la posizione del motore del cursore.
Questa proprieta' consente di scegliere tra varie librerie di
cursori accessibili da parte del driver. E' in genere possibile
scegliere se utilizzare una libreria di cursori del client oppure
una presente sul server. L'impostazione della proprieta' non ha
effetto sulle connessioni gia' aperte. Inoltre non e' possibile
modificarla se la connessione e' gia' aperta.
I cursori Connection.Execute erediteranno quest'impostazione.
I Recordset erediteranno automaticamente quest'impostazione dalle
relative connessioni.
Utilizzo di Remote Data Service: quando viene utilizzata su un
oggetto Recordset o Connection del client (ADOR), la proprieta'
CursorLocation puņ essere impostata solo
adUseClient.
Valori possibili:
- adUseNone
Non sono utilizzati servizi del cursore. Questa costante non
e' aggiornata ed e' disponibile solo per garantire la
compatibilita' con le versioni precedenti.
- adUseClient
Utilizza i cursori del client forniti da una libreria di
cursori locale. I motori di cursore locale consentono in
genere di eseguire molte funzioni non supportate dai cursori
forniti da driver. Utilizzando quindi tale impostazione
sara' possibile usufruire dei vantaggi offerti dalle funzioni
che verranno abilitate. Per garantire la compatibilita' con le
versioni precedenti, e' supportato anche il sinonimo
adUseClientBatch.
- adUseServer
Predefinita. Utilizza cursori forniti da driver o dal provider
di dati. Si tratta a volte di cursori molto flessibili che
garantiscono una riservatezza supplementare per le modifiche
apportate da altri utenti alla fonte dati. Alcune funzioni del
Microsoft Client Cursor Provider, quali i recordset non associati,
non possono essere simulate con i cursori del server, rendendo
quindi tali funzioni non disponibili con questa impostazione.
|
DefaultDatabase
|
Consente di specificare il nome del database di default per la
connessione.
Se e' disponibile un database predefinito, nelle stringhe SQL sara'
possibile utilizzare una sintassi non completa per accedere agli
oggetti del database. Per accedere agli oggetti di un database diverso
da quello specificato nella proprieta' DefaultDatabase, sara'
necessario fornire i nomi completi degli oggetti specificando anche il
nome del database desiderato. Dopo la connessione, il provider
scrivera' le informazioni sul database predefinito nella proprieta'
DefaultDatabase.
Alcuni provider consentono l'utilizzo di un solo database per
connessione. In tal caso non sara' possibile modificare la proprieta'
DefaultDatabase.
E' possibile che alcuni provider e fonti dati non supportino questa
funzione e restituiscano un errore o una stringa vuota.
|
IsolationLevel
|
Utilizzare la proprieta' IsolationLevel per impostare il
livello di isolamento per un oggetto Connection.
La proprieta' IsolationLevel e' di lettura/scrittura.
L'impostazione ha effetto solo quando viene chiamato il metodo
BeginTrans. Se il livello di isolamento richiesto non e' disponibile,
il provider potra' restituire il livello di isolamento superiore
successivo.
I valori disponibili sono:
- adXactUnspecified
Indica che il provider utilizza un IsolationLevel diverso da
quello specificato, che tuttavia non puo' essere determinato.
- adXactChaos
Valore predefinito. Indica che non e' possibile sovrascrivere
le modifiche in sospeso con transazioni isolate a un livello
superiore.
- adXactBrowse
Indica che e' possibile visualizzare in una transazione
le modifiche non confermate in altre transazioni.
- adXactReadUncommitted
Stessa funzione di adXactBrowse.
- adXactCursorStability
Valore predefinito. Indica che e' possibile visualizzare in
una transazione le modifiche apportate in altre transazioni solo
dopo averle confermate.
- adXactReadCommitted
Stessa funzione di adXactCursorStability.
- adXactRepeatableRead
Indica che non e' possibile visualizzare in una transazione
le modifiche apportate in altre transazioni, ma che eseguendo
una nuova query e' possibile ottenere nuovi recordset.
- adXactIsolated
Indica che le transazioni vengono eseguite in isolamento
rispetto alle altre transazioni.
- adXactSerializable
Stessa funzione di adXactIsolated.
|
Mode
|
Utilizzare la proprieta' Mode per impostare o restituire le
autorizzazioni di accesso utilizzate dal provider per la
connessione corrente. E' possibile impostare la proprieta'
Mode solo quando l'oggetto Connection e' chiuso.
I valori possibili sono:
- adModeUnknown
Valore predefinito. Indica che le autorizzazioni non sono
state ancora impostate oppure che non possono essere
determinate.
- adModeRead
Indica le autorizzazioni di sola lettura.
- adModeWrite
Indica le autorizzazioni di sola scrittura.
- adModeReadWrite
Indica le autorizzazioni di lettura/scrittura.
- adModeShareDenyRead
Impedisce ad altri utenti di aprire la connessione con le
autorizzazioni di lettura.
- adModeShareDenyWrite
Impedisce ad altri utenti di aprire la connessione con le
autorizzazioni di scrittura.
- adModeShareExclusive
Impedisce ad altri utenti di aprire la connessione.
- adModeShareDenyNone
Impedisce ad altri utenti di aprire la connessione con
qualsiasi tipo di autorizzazione.
|
Provider
|
Utilizzare la proprieta' Provider per impostare o restituire il
nome del provider per una connessione. E' inoltre possibile impostare
questa proprieta' in base al contenuto della proprieta'
ConnectionString o dell'argomento StringaConnessione del
metodo Open.
Specificando tuttavia un provider in piu' oggetti durante la
chiamata del metodo Open, e' possibile che si ottengano risultati
non prevedibili. Se non si specifica alcun provider, la proprieta'
verra' impostata su MSDASQL, ovvero il provider Microsoft OLE DB
per ODBC.
La proprieta' Provider e' di lettura/scrittura quando la connessione
e' chiusa e di sola lettura quando e' aperta. L'impostazione diventa
effettiva solo quando si apre l'oggetto Connection o si accede
all'insieme Properties dell'oggetto Connection. Se l'impostazione
non e' valida, verra' restituito un errore.
|
State
|
La proprieta' State puņ essere utilizzata per determinare lo
stato corrente di un determinato oggetto in qualsiasi momento.
Si tratta di una proprieta' di sola lettura.
- adStateClosed
Predefinita. L'oggetto e' chiuso.
- adStateOpen
L'oggetto e' aperto.
|
Version
|
La proprieta' Version viene utilizzata per la restituzione
del numero di versione dell'implementazione di ADO.
|
Open
|
Apre la connessione fisica con il database.
Sintassi
connessione.Open StringaConnessione, IDUtente, Password, Opzioni
Parametri
- StringaConnessione
Elemento String che contiene informazioni sulla connessione
(opzionale).
Per ulteriori informazioni sulle impostazioni valide, vedere
la proprieta' ConnectionString.
- IDUtente
Elemento String che contiene il nome utente da utilizzare quando
si stabilisce la connessione (opzionale).
- Password
Elemento String che contiene la password da utilizzare quando
si stabilisce la connessione (opzionale).
- Opzioni
Questo valore e' opzionale, puo' essere impostato su una
delle seguenti costanti:
- adConnectAsync
- adConnectSync (default)
Utilizzando il metodo Open su un
oggetto Connection si stabilisce
la connessione fisica a una fonte dati.
Se il metodo viene completato correttamente, la connessione verra'
stabilita e sara' possibile inoltrare comandi ed elaborare i
risultati.
Utilizzare l'argomento
StringaConnessione
opzionale per specificare una stringa di connessione contenente
una serie di istruzioni
argomento=valore separate da punti
e virgola (;).
La proprieta' ConnectionString
eredita automaticamente il valore utilizzato per l'argomento
StringaConnessione.
E' quindi possibile impostare la proprieta'
ConnectionString dell'oggetto
Connection prima di aprirlo
oppure utilizzare l'argomento
StringaConnessione per
impostare o ignorare i parametri di connessione correnti durante
la chiamata del metodo
Open.
Se si passano l'ID utente e la password sia nell'argomento
StringaConnessione che
negli argomenti opzionali
IDUtente e
Password, questi ultimi
avranno la priorita'.
Una volta concluse le operazioni su un oggetto
Connection aperto, utilizzare il
metodo Close per rendere
disponibili le risorse di sistema associate. Se si chiude un oggetto,
questo non verra' rimosso dalla memoria. Per eliminare
completamente un oggetto dalla memoria, impostare la variabile
oggetto su Nothing.
|
Execute
|
Esegue la query, l'istruzione SQL, la stored procedure o il testo
specifico del provider.
Sintassi
Per una stringa di comando che non restituisce valori:
connessione.Execute Comando, Record, Opzioni
Per una stringa di comando che restituisce righe:
Set recordset = connessione.Execute (Comando, Record, Opzioni)
In questo caso la Execute costruisce e ritorna un oggetto di tipo
Recordset.
Parametri
- Comando
Elemento String contenente l'istruzione SQL, il nome della
tabella, la stored procedure oppure il testo specifico del
provider da eseguire.
- Record
Variabile Long a cui il provider restituisce il numero di
record interessati dall'operazione (opzionale).
- Opzioni
Valore Long che indica come il provider deve valutare
l'argomento Comando (opzionale). Puo' essere una delle seguenti
costanti:
- adCmdText
Indica che il provider deve valutare Comando come una
definizione in formato testo di un comando.
- adCmdTable
Indica che ADO deve generare una query SQL per restituire tutte
le righe della tabella indicata in Comando.
- adCmdTableDirect
Indica che il provider deve restituire tutte le righe della
tabella indicata in Comando.
- adCmdStoredProc
Indica che il provider deve valutare Comando come una
stored procedure.
- adCmdUnknown
Indica che il tipo di comando non e' conosciuto.
- adExecuteAsync
Indica che il comando deve essere eseguito in modalita'
asincrona.
- adFetchAsync
Indica che sulle righe rimanenti dopo la quantita' iniziale
specificata nella proprieta' CacheSize deve essere eseguito
il fetch in modalita' asincrona.
Note
Utilizzando il metodo Execute su un oggetto Connection si esegue
qualsiasi query passata al metodo nell'argomento Comando sulla
connessione specificata. Se l'argomento Comando specifica una query
che restituisce righe, qualsiasi risultato generato dall'esecuzione
verra' memorizzato in un nuovo oggetto Recordset. Se il comando non e'
una query che restituisce righe, il provider restituira' un oggetto
Recordset chiuso.
L'oggetto Recordset restituito e' sempre un cursore a scorrimento
in avanti di sola lettura. Se e' necessario un oggetto Recordset
con piu' funzionalita', creare innanzitutto un oggetto Recordset
con le impostazioni delle proprieta' desiderate, quindi utilizzare
il metodo Open dell'oggetto Recordset per eseguire la query e
restituire il tipo di cursore desiderato.
Il contenuto dell'argomento Comando e' specifico del provider e
puo' essere nella sintassi SQL standard o in un qualsiasi formato
speciale supportato dal provider.
Al termine di questa operazione viene inoltrato un evento
ExecuteComplete.
|
BeginTrans, CommitTrans, RollBackTrans
|
Questi metodi di transazione gestiscono l'elaborazione delle
transazioni all'interno di una Connection secondo le modalita'
elencate di seguito.
- BeginTrans
avvia una nuova transazione.
- CommitTrans
salva le modifiche e termina la transazione corrente.
Puo' anche avviare una nuova transazione.
- RollbackTrans
annulla qualsiasi modifica apportata durante la
transazione corrente e termina la transazione stessa. Puo'
anche avviare una nuova transazione.
Sintassi
livello = connection.BeginTrans()
connection.BeginTrans
connection.CommitTrans
connection.RollbackTrans
Valore restituito
BeginTrans puņ essere chiamato come una funzione che restituisce
una variabile Long indicante il livello di nidificazione della
transazione.
Nota: Non tutti i provider supportano le transazioni.
Verificare che la proprieta' "Transaction DDL" definita dal
provider sia presente nell'insieme Properties dell'oggetto
Connection.
In questo modo, sara' possibile verificare che il provider
supporti le transazioni.
In caso contrario, la chiamata di uno di questi metodi comportera'
un errore.
Dopo che e' stato chiamato il metodo BeginTrans, il provider non
confermera' piu' istantaneamente le modifiche effettuate finche'
non verra' chiamato il metodo CommitTrans o RollbackTrans per
terminare la transazione.
Nel caso di provider che supportano transazioni nidificate, se si
chiama il metodo BeginTrans nell'ambito di una transazione aperta
verra' avviata una nuova transazione nidificata. Il valore restituito
indica il livello di nidificazione: "1" indica che e' stata aperta
una transazione di primo livello, ovvero una transazione non
nidificata nell'ambito di un'altra transazione, "2" indica che
e' stata aperta una transazione di secondo livello, ovvero una
transazione nidificata in una transazione di primo livello, e cosi'
via. La chiamata del metodo CommitTrans o RollbackTrans interessa
solo la transazione aperta piu' di recente. Prima di potere risolvere
qualsiasi transazione di primo livello, e' necessario chiudere oppure
annullare la transazione corrente.
Se si chiama il metodo CommitTrans, verranno salvate le modifiche
apportate alla connessione in una transazione aperta e verra'
terminata la transazione stessa. Se si chiama il metodo
RollbackTrans, verranno annullate tutte le modifiche in una
transazione aperta e verra' terminata la transazione stessa. Se
si chiama uno di questi due metodi quando non ci sono transazioni
aperte, verra' generato un errore.
A seconda della proprieta' Attributes dell'oggetto Connection, se
si chiama il metodo CommitTrans o RollbackTrans verra' automaticamente
avviata una nuova transazione. Se la proprieta' Attributes e'
impostata su adXactCommitRetaining, il provider avviera'
automaticamente una nuova transazione dopo una chiamata CommitTrans.
Se invece la proprieta' Attributes e' impostata su
adXactAbortRetaining, il provider avviera' automaticamente una nuova
transazione dopo una chiamata RollbackTrans.
Remote Data Service
I metodi BeginTrans, CommitTrans e RollbackTrans non sono
disponibili per un oggetto Connection sul lato client.
|
Cancel
|
Annulla l'esecuzione di una chiamata asincrona del metodo
Execute o Open in attesa.
Sintassi
connection.Cancel
Utilizzare il metodo Cancel per terminare l'esecuzione di una
chiamata asincrona del metodo Execute o Open, ovvero il metodo
chiamato con l'opzione adConnectAsync, adExecuteAsync o
adFetchAsync. Se l'opzione adRunAsync non e' stata utilizzata nel
metodo che si sta tentando di terminare, Cancel restituira' un
errore in fase di esecuzione.
|
Close
|
Chiude la connessione ed i relativi oggetti dipendenti.
Sintassi
connection.Close
Se si utilizza il metodo Close per chiudere un oggetto Connection,
verranno chiusi anche tutti gli oggetti Recordset attivi associati
alla connessione. Un oggetto Command associato all'oggetto Connection
che si sta chiudendo restera' aperto ma non sara' piu' associato a
un oggetto Connection, vale a dire che la proprieta' ActiveConnection
verra' impostata su Nothing. Tutti i parametri definiti dal provider
verranno inoltre cancellati dall'insieme Parameters dell'oggetto
Command.
E' possibile chiamare in un secondo momento il metodo Open per
ristabilire la connessione con la stessa o con un'altra fonte dati.
Mentre l'oggetto Connection viene chiuso, se si chiama un metodo
qualsiasi che richiede una connessione aperta con la fonte dati si
generera' un errore.
Se si chiude un oggetto Connection mentre ci sono oggetti Recordset
aperti sulla connessione, verra' annullata qualsiasi modifica in
sospeso in tutti gli oggetti Recordset. Se durante una transazione
si chiude un oggetto Connection chiamando il metodo Close, si
generera' un errore. Se un oggetto Connection non e' compreso
nell'area di validita' mentre e' in corso una transazione, la
transazione verra' annullata automaticamente.
Nota: Quando un'oggetto viene chiuso, la memoria occupata
non viene liberata, per ripulire completamente la memoria e'
necessario assegnare all'oggetto il valore
Nothing.
|
OpenSchema
|
Ottiene informazioni sullo schema del database dal provider.
Sintassi
Set recordset=connessione.OpenSchema( Tipo, Criteri, IDSchema )
Valori restituiti
Restituisce un oggetto
Recordset che contiene le
informazioni sullo schema. Il Recordset verra' aperto come
cursore statico di sola lettura.
Parametri
- Tipo
Tipo di query di schema da eseguire.
- Criteri
Matrice di vincoli di query per ciascuna opzione Tipo dell'elenco
che segue (opzionale).
- IDSchema
GUID per una query di schema 'schema provider' non definito
dalla specifica OLE DB. Tale parametro sara' obbligatorio se
Tipo e' impostato su adSchemaProviderSpecific,
altrimenti non verra' utilizzato.
Tipo |
Criteri |
adSchemaAsserts |
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
|
adSchemaCatalogs |
CATALOG_NAME
|
adSchemaCharacterSets |
CHARACTER_SET_CATALOG CHARACTER_SET_SCHEMA CHARACTER_SET_NAME
|
adSchemaCheckConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME
|
adSchemaCollations |
COLLATION_CATALOG COLLATION_SCHEMA COLLATION_NAME
|
adSchemaColumnDomainUsage |
DOMAIN_CATALOG DOMAIN_SCHEMA DOMAIN_NAME COLUMN_NAME
|
adSchemaColumnPrivileges |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME
COLUMN_NAME GRANTOR GRANTEE
|
adSchemaColumns |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME
|
adSchemaConstraintColumnUsage |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME
|
adSchemaConstraintTableUsage |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME
|
adSchemaForeignKeys |
PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME
FK_TABLE_CATALOG FK_TABLE_SCHEMA FK_TABLE_NAME
|
adSchemaIndexes |
TABLE_CATALOG TABLE_SCHEMA INDEX_NAME
TYPE TABLE_NAME
|
adSchemaKeyColumnUsage |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME
|
adSchemaPrimaryKeys |
PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME
|
adSchemaProcedureColumns |
PROCEDURE_CATALOG PROCEDURE_SCHEMA
PROCEDURE_NAME COLUMN_NAME
|
adSchemaProcedureParameters |
PROCEDURE_CATALOG PROCEDURE_SCHEMA
PROCEDURE_NAME PARAMTER_NAME
|
adSchemaProcedures |
PROCEDURE_CATALOG PROCEDURE_SCHEMA
PROCEDURE_NAME PARAMTER_TYPE
|
adSchemaProviderSpecific |
vedere Osservazioni
|
adSchemaProviderTypes |
DATA_TYPE BEST_MATCH
|
adSchemaReferentialConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME
|
adSchemaSchemata |
CATALOG_NAME SCHEMA_NAME SCHEMA_OWNER
|
adSchemaSQLLanguages |
nessuna
|
adSchemaStatistics |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME
|
adSchemaTableConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
|
adSchemaTablePrivileges |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME GRANTOR GRANTEE
|
adSchemaTables |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE
|
adSchemaTranslations |
TRANSLATION_CATALOG TRANSLATION_SCHEMA TRANSLATION_NAME
|
adSchemaUsagePrivileges |
OBJECT_CATALOG OBJECT_SCHEMA OBJECT_NAME
OBJECT_TYPE GRANTOR GRANTEE
|
adSchemaViewColumnUsage |
VIEW_CATALOG VIEW_SCHEMA VIEW_NAME
|
adSchemaViewTableUsage |
VIEW_CATALOG VIEW_SCHEMA VIEW_NAME
|
adSchemaViews |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME
|
Osservazioni
Il metodo OpenSchema restituisce informazioni sulla fonte dati,
ad esempio informazioni sulle tabelle del server e le colonne delle
tabelle. L'argomento Criteri e' una matrice di valori che possono
essere utilizzati per limitare i risultati di una query di schema.
Ciascuna query di schema supporta un differente gruppo di parametri.
Gli schemi effettivi sono definiti dalla specifica OLE DB per
l'interfaccia IDBSchemaRowset. Gli schemi supportati in ADO sono
elencati piu' sopra.
Se il provider definisce query di schema personalizzate non standard,
per l'argomento Tipo verra' utilizzata la costante
adSchemaProviderSpecific.
Quando questa costante viene utilizzata, e' richiesto l'argomento
IDSchema per passare il GUID della query di schema da eseguire.
Se Tipo e' impostato su
adSchemaProviderSpecific ma
IDSchema non viene fornito, si verifichera' un errore.
I provider non devono necessariamente supportare tutte le query
di schema OLE DB standard:
adSchemaTables,
adSchemaColumns e
adSchemaProviderTypes sono
infatti le uniche query di schema richieste dalla specifica OLE DB.
Il provider non deve supportare necessariamente i vincoli Criteri
sopra elencati per queste query di schema.
Utilizzo di Remote Data Service
Il metodo OpenSchema non e' disponibile su un oggetto Connection
sul lato client.
|
|