Informazioni di connessione specifiche del driver

SQLConnect presuppone che un nome dell'origine dati, un ID utente e una password siano sufficienti per connettersi a un'origine dati e che tutte le altre informazioni di connessione possano essere archiviate nel sistema. Questo non è spesso il caso. Ad esempio, un driver potrebbe richiedere un ID utente e una password per accedere a un server e un ID utente e una password diversi per accedere a un DBMS. Poiché SQLConnect accetta un singolo ID utente e una password, ciò significa che l'altro ID utente e la password devono essere archiviati con le informazioni sull'origine dati nel sistema se è necessario usare SQLConnect. Questa è una potenziale violazione della sicurezza e deve essere evitata a meno che la password non sia crittografata.

SQLDriverConnect consente al driver di definire una quantità arbitraria di informazioni di connessione nelle coppie parola chiave-valore della stringa di connessione. Supponiamo, ad esempio, che un driver richieda un nome dell'origine dati, un ID utente e una password per il server e un ID utente e una password per DBMS. Un programma personalizzato che usa sempre l'origine dati XYZ Corp potrebbe richiedere all'utente ID e password e compilare il set seguente di coppie parola chiave-valore o stringa di connessione per passare a SQLDriverConnect:

Nota

Se ci si connette a un provider di origine dati che supporta l'autenticazione di Windows, è necessario specificare Trusted_Connection=yes anziché le informazioni sull'ID utente e sulla password nella stringa di connessione.

DSN={MyDataSourceName};UID={MyUserID};PWD={MyServerPassword};UIDDBMS={MyDBMSUserID};PWDDBMS={MyDBMSUserPassword};  

La parola chiave DSN (nome dell'origine dati) denomina l'origine dati, le parole chiave UID e PWD specificano l'ID utente e la password per il server e le parole chiave UIDDBMS e PWDDBMS specificano l'ID utente e la password per IL DBMS. Il punto e virgola finale è facoltativo. SQLDriverConnect analizza questa stringa; usa il nome dell'origine dati XYZ Corp per riprendere informazioni di connessione aggiuntive dal sistema, ad esempio l'indirizzo del server, e accede al server e a DBMS usando gli ID utente e le password specificati.

Le coppie parola chiave-valore in SQLDriverConnect devono seguire determinate regole di sintassi. Le parole chiave e i relativi valori non devono contenere i caratteri []{}(),;?*=!@. Il valore della parola chiave DSN non può essere costituito solo da spazi e non deve contenere spazi iniziali. A causa della grammatica del registro, le parole chiave e i nomi delle origini dati non possono contenere il carattere barra rovesciata (\). Gli spazi non sono consentiti intorno al segno di uguale nella coppia parola chiave-valore.

La parola chiave FILEDSN può essere usata in una chiamata a SQLDriverConnect per specificare il nome di un file che contiene informazioni sull'origine dati (vedere Connessione tramite origini dati dei file, più avanti in questa sezione). La parola chiave SAVEFILE può essere usata per specificare il nome di un file con estensione .dsn in cui verranno salvate le coppie di parola chiave-valore di una connessione riuscita effettuata dalla chiamata a SQLDriverConnect. Per maggiori informazioni sulle origini dati del file, vedere la descrizione della funzione SQLDriverConnect.