Connection
Proprietà
Attributes,
CommandTimeout,
ConnectionString,
ConnectionTimeOut,
CursorLocation,
DefaultDatabase,
IsolationLevel,
Mode,
Provider,
State,
Version
Metodi
Open,
Execute,
BeginTrans,
CommitTrans,
RollBackTrans,
Cancel,
Close,
OpenSchema
|
|
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 è necessario che sia un driver ODBC, possono
essere utilizzati driver di ogni genere purchè 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 può utilizzare le informazioni
memorizzate nel Pannello di Controllo per stabilire la connessione senza dover specificare
informazioni aggiuntive, nel caso è possibile usare un driver ODBC specificando tutti i
parametri di connessione direttamente, evitando così la necessità 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
|
Proprietà
|
|
Attributes |
è di lettura/scrittura e consente di impostare svariate caratteristiche dell'oggetto
connessione. Il suo valore è la combinazione di una o più costanti:
- adXactCommitRetaining
Esegue una conferma, vale a dire che quando si richiama CommitTrans viene
automaticamente avviata una nuova transazione.
Non è 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 è 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 è
di 30 secondi.
|
ConnectionString |
Questa proprietà è 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 è in genere composta da una serie di parametri specificati
come parametro=valore;
ADO supporta quattro parametri per la proprietà 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 sostituirà
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 và indicato in secondi, lo standard è 15 secondi.
|
CursorLocation |
Imposta o restituisce la posizione del motore del cursore.
Questa proprietà consente di scegliere tra varie librerie di cursori accessibili
da parte del driver. è in genere possibile scegliere se utilizzare una libreria
di cursori del client oppure una presente sul server. L'impostazione della proprietà
non ha effetto sulle connessioni già aperte. Inoltre non è possibile modificarla
se la connessione è già 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 proprietà CursorLocation puņ essere impostata solo
adUseClient.
Valori possibili:
- adUseNone
Non sono utilizzati servizi del cursore. Questa costante non è aggiornata ed
è disponibile solo per garantire la compatibilità 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
sarà possibile usufruire dei vantaggi offerti dalle funzioni che verranno abilitate.
Per garantire la compatibilità con le versioni precedenti, è 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 è disponibile un database predefinito, nelle stringhe SQL sarà possibile utilizzare
una sintassi non completa per accedere agli oggetti del database.
Per accedere agli oggetti di un database diverso da quello specificato nella
proprietà DefaultDatabase, sarà necessario fornire i nomi completi degli oggetti
specificando anche il nome del database desiderato.
Dopo la connessione, il provider scriverà le informazioni sul database
predefinito nella proprietà DefaultDatabase.
Alcuni provider consentono l'utilizzo di un solo database per connessione.
In tal caso non sarà possibile modificare la proprietà DefaultDatabase.
Č possibile che alcuni provider e fonti dati non supportino questa funzione e
restituiscano un errore o una stringa vuota.
|
IsolationLevel |
Utilizzare la proprietà IsolationLevel per impostare il livello di isolamento
per un oggetto Connection.
La proprietà IsolationLevel è di lettura/scrittura. L'impostazione ha effetto
solo quando viene chiamato il metodo BeginTrans. Se il livello di isolamento
richiesto non è disponibile, il provider potrà 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 puņ essere determinato.
- adXactChaos
Valore predefinito. Indica che non è possibile sovrascrivere le modifiche in
sospeso con transazioni isolate a un livello superiore.
- adXactBrowse
Indica che è possibile visualizzare in una transazione le modifiche non
confermate in altre transazioni.
- adXactReadUncommitted
Stessa funzione di adXactBrowse.
- adXactCursorStability
Valore predefinito. Indica che è possibile visualizzare in una transazione
le modifiche apportate in altre transazioni solo dopo averle confermate.
- adXactReadCommitted
Stessa funzione di adXactCursorStability.
- adXactRepeatableRead
Indica che non è possibile visualizzare in una transazione le modifiche apportate
in altre transazioni, ma che eseguendo una nuova query è 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 proprietà Mode per impostare o restituire le autorizzazioni di accesso
utilizzate dal provider per la connessione corrente. Č possibile impostare la proprietà
Mode solo quando l'oggetto Connection è 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 proprietà Provider per impostare o restituire il nome del provider per una
connessione. Č inoltre possibile impostare questa proprietà in base al contenuto della
proprietà ConnectionString o dell'argomento StringaConnessione del metodo Open.
Specificando tuttavia un provider in più oggetti durante la chiamata del metodo Open,
è possibile che si ottengano risultati non prevedibili. Se non si specifica alcun
provider, la proprietà verrà impostata su MSDASQL, ovvero il provider Microsoft
OLE DB per ODBC.
La proprietà Provider è di lettura/scrittura quando la connessione è chiusa e di sola
lettura quando è 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 è valida, verrà restituito un errore.
|
State |
La proprietà State puņ essere utilizzata per determinare lo stato corrente di un
determinato oggetto in qualsiasi momento. Si tratta di una proprietà di sola lettura.
- adStateClosed
Predefinita. L'oggetto è chiuso.
- adStateOpen
L'oggetto è aperto.
|
Version |
La proprietà Version viene utilizzata per la restituzione del numero di
versione dell'implementazione di ADO.
|
|
Metodi
|
|
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 proprietà
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 è opzionale, può 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 verrà stabilita e sarà
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 proprietà ConnectionString eredita
automaticamente il valore utilizzato per l'argomento
StringaConnessione.
Č quindi possibile impostare la proprietà
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 priorità.
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 verrà 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). Puņ 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.
- adCmdTable
Indica che il provider deve valutare Comando come un nome di tabella.
- adCmdStoredProc
Indica che il provider deve valutare Comando come una stored procedure.
- adCmdUnknown
Indica che il tipo di comando nell'argomento Comando non è conosciuto.
- adExecuteAsync
Indica che il comando deve essere eseguito in modalità asincrona.
- adFetchAsync
Indica che sulle righe rimanenti dopo la quantità iniziale specificata nella
proprietà CacheSize deve essere eseguito il fetch in modalità asincrona.
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 verrà memorizzato in un nuovo oggetto Recordset. Se il comando non è
una query che restituisce righe, il provider restituirà un oggetto Recordset chiuso.
L'oggetto Recordset restituito è sempre un cursore a scorrimento in avanti di sola
lettura. Se è necessario un oggetto Recordset con più funzionalità, creare
innanzitutto un oggetto Recordset con le impostazioni delle proprietà 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 è specifico del provider e puņ 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 modalità elencate di seguito.
- BeginTrans
avvia una nuova transazione.
- CommitTrans
salva le modifiche e termina la transazione corrente. Puņ anche avviare una
nuova transazione.
- RollbackTrans
annulla qualsiasi modifica apportata durante la transazione corrente e termina
la transazione stessa. Puņ 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 proprietà
"Transaction DDL" definita dal provider sia presente nell'insieme Properties dell'oggetto
Connection.
In questo modo, sarà possibile verificare che il provider supporti le transazioni.
In caso contrario, la chiamata di uno di questi metodi comporterà un errore.
Dopo che è stato chiamato il metodo BeginTrans, il provider non confermerà più
istantaneamente le modifiche effettuate finchè non verrà 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 verrà avviata una nuova transazione
nidificata. Il valore restituito indica il livello di nidificazione: "1" indica che
è stata aperta una transazione di primo livello, ovvero una transazione non nidificata
nell'ambito di un'altra transazione, "2" indica che è stata aperta una transazione di
secondo livello, ovvero una transazione nidificata in una transazione di primo livello,
e così via. La chiamata del metodo CommitTrans o RollbackTrans interessa solo la
transazione aperta più di recente. Prima di potere risolvere qualsiasi transazione di
primo livello, è 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 verrà terminata la transazione stessa. Se si
chiama il metodo RollbackTrans, verranno annullate tutte le modifiche in una transazione
aperta e verrà terminata la transazione stessa. Se si chiama uno di questi due metodi
quando non ci sono transazioni aperte, verrà generato un errore.
A seconda della proprietà Attributes dell'oggetto Connection, se si chiama il metodo
CommitTrans o RollbackTrans verrà automaticamente avviata una nuova transazione. Se la
proprietà Attributes è impostata su adXactCommitRetaining, il provider avvierà
automaticamente una nuova transazione dopo una chiamata CommitTrans.
Se invece la proprietà Attributes è impostata su adXactAbortRetaining, il provider avvierà
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 è stata utilizzata nel
metodo che si sta tentando di terminare, Cancel restituirà 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 resterà aperto
ma non sarà più associato a un oggetto Connection, vale a dire che la proprietà
ActiveConnection verrà impostata su Nothing. Tutti i parametri definiti dal provider
verranno inoltre cancellati dall'insieme Parameters dell'oggetto Command.
Č 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
genererà un errore.
Se si chiude un oggetto Connection mentre ci sono oggetti Recordset aperti sulla
connessione, verrà annullata qualsiasi modifica in sospeso in tutti gli oggetti
Recordset. Se durante una transazione si chiude un oggetto Connection chiamando il metodo
Close, si genererà un errore. Se un oggetto Connection non è compreso nell'area di
validità mentre è in corso una transazione, la transazione verrà annullata
automaticamente.
Nota: Quando un'oggetto viene chiuso, la memoria occupata non viene liberata,
per ripulire completamente la memoria è 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 verrà 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 sarà obbligatorio se Tipo è impostato su adSchemaProviderSpecific,
altrimenti non verrà 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 è 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
più sopra.
Se il provider definisce query di schema personalizzate non standard, per
l'argomento Tipo verrà utilizzata la costante
adSchemaProviderSpecific.
Quando questa costante viene utilizzata, è richiesto l'argomento IDSchema
per passare il GUID della query di schema da eseguire. Se Tipo è impostato su
adSchemaProviderSpecific ma IDSchema
non viene fornito, si verificherà 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 è disponibile su un oggetto Connection sul lato client.
|
|