Innanzitutto buongiorno a tutti, e soprattutto a quelli che risponderanno perch se rispondono non sono in ferie…
Ho necessit di connettermi a diversi database non ovviamente tutti assieme …
All’avvio dell’applicazione leggo un file xml con la configurazione dell’applicazione stessa;
Se il file di configurazione non esiste apro una finestra che mi permette di specificare quale database utilizzare,
su quale porta, indirizzo ip, password, nome utente, stringa di connessione, nome dell’istanza
alcuni di questi campi sono inibibiti in base al tipo di database selezionato;
i database che posso utilizzare sono : Mysql, Postgresql, Mssql, Oracle e volevo inserire anche ODBC ma ci devo ragionare prima sopra…
Detto questo una volta salvata la configurazione la carico, testo se la connessione andata a buon fine e carico la mia applicazione.
Ho creato una variabile globale per la connessione che mi servir poi per determinare come gestire le query ( non per tutti i tipi di db le query sono uguali )
A questo punto devo connettermi al db … ed ho pensato ad una cosa del genere
(Nota bene apro la connessione al database e la chiudo solo quando la devo utilizzare, non voglio una connessione persistente)
ecco a quello che ho pensato :
dim db as database
select case procedure.dbtype
case 1 // mysql
db = new MySQLCommunityServer
db.Port = procedure.dbport
case 2 // postgresql
db = new PostgreSQLDatabase
db.Port = procedure.dbport
case 3 // mssql
db = new MSSQLServerDatabase
case 4 // oracle
db = new OracleDatabase
end select
db.databasename = procedure.dbname
db.host = procedure.dbhost
db.username = procedure.dbusername
db.password = procedure.dbpassword
if not db.connet() then
msgbox("Attenzione, Errore durante la connessione al database " + procedure.dbname + " Errore : " db.errormessage)
exit sub // ( o exit function, oppure quit se sono sulla procedura main )
else
if procedure.dbtype = 1 then
// alcune impostazioni per il database mysql ...
end if
.... esecuzione delle query e di tutto il resto
end if
c’ un modo pi comodo di gestire la cosa ?
giusto quello che st facendo ?