Il Modello ad Oggetti di ADO - Connection


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Login/Register

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.


I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

Nessun messaggio this document does not accept new posts

Precedente Successivo


Davide Bianchi, lavora come Unix/Linux System Administrator presso una societa' di "sicurezza informatica" (aka: $networkgestapo) di Haarlem. Contatti: mail: davide AT onlyforfun.net , Jabber: davideyeahsure AT gmail.com,

Volete contribuire? Leggete come!.
 
 

Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gort