Le ConnectionString per MySQL

Ultima revisione a cura di Sante Caserio, 27 Gennaio, 2010 00:34

Per connettersi a un database MySQL in ambiente Microsoft, spesso si utilizza una ConnectionString, cioè una stringa che contiene le informazioni necessarie per connettersi al server. La ConnectionString sarà leggermente diversa a seconda del driver che si vuole utilizzare.

Seguono esempi di ConnectionString per i principali driver. Naturalmente i termini in corsivo devono essere sostituiti con i dati corretti.

Esempio di ConnectionString con Connection/Net

Server=nome_host;Database=nome_db;Uid=nome_utente;Pwd=password;

Esempio di ConnectionString OLEDB

Provider=MySQLProv;Data Source=nome_db;User Id=nome_utente;Password=password;

Esempio di ConnectionString con ODBC 2.50

Driver={mySQL};Server=nome_host;Port=porta;Option=131072;Database=nome_db; User=nome_utente;Password=password;

Esempio di ConnectionString con ODBC 3.51

Driver={MySQL ODBC 3.51 Driver};Server=nome_host;Port=porta;Database=nome_db;User=nome_utente; Password=password;Option=3;

Esempio di ConnectionString con ODBC 5.1

Driver={MySQL ODBC 5.1 Driver};Server=nome_host;Port=porta;Database=nome_db; User=nome_utente;Password=password;Option=3;

Parametri aggiuntivi

Gli esempi sopra riportati utilizzano solo i parametri fondamentali. E’ possibile utilizzarne altri, dopo essersi accertati che il driver che si sta utilizzando li supporti (e che la sintassi sia la stessa).

  • Socket – Per connettersi tramite i socket di UNIX. Bisogna indicare il nome del socket. Questo parametro sostituisce Server e Port. Esempio: S_ocket=MYSQL;_
  • Named Pipe – Non esiste un parametro chiamato in questo modo, ma specificando come porta la -1 è possibile utilizzare i named pipe di Windows. Esempio: Server=localhost;Port=-1;
  • Memoria condivisa – E’ possibile connettersi, su Windows, tramite la memoria condivisa assegnata a MySQL. Esempio: Shared Memory Name=MYSQL;
  • Connection Timeout – E’ possibile specificare un tempo limite per il tentativo di connessione. Se viene superato, la connessione non viene stabilita e viene restituito un errore. Esempio: Connection Timeout=5;
  • Default Command Timeout – Il tempo limite per l’esecuzione dei comandi, ove non diversamente specificato per un singolo comando. Esempio: default command timeout=20;
  • CharSet – Il set di caratteri da utilizzare per la connessione corrente. Esempio: CharSet=UTF8;
  • Ignore Prepare – Con Connector/Net, disabilita i prepared statement lato client per la connessione corrente. Esempio: Ignore Prepare=true;

Esempi di Connection String con DSN

E’ possibile impostare tutti i parametri necessari per la connessione in un DSN di sistema o in un file DSN. Questa tecnica non è specifica di MySQL, ma la riportiamo per completezza.

Se si usa un DSN di sistema:

DSN=nome_dsn;Uid=nome_utente;Pwd=password;

Se si utilizza un file DSN:

FILEDSN=c:\mysql.dsn;Uid=nome_utente;Pwd=password;