Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Connessione a database access
lunedì 05 aprile 2010 - 09.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
kromax
Profilo
| Newbie
8
messaggi | Data Invio:
lun 5 apr 2010 - 09:40
Salve, ho un'applicazione in vb.net. Fino ad ora arivo una connessione al database per accedere ai dati, modificarli ed aggiornarli in diverse parti del programma. L'applicazione è installata su una decina di pc che accedono al db con una connessione ODBC. La domanda è semplice: conviene aprire e chiudere una connessione per ogni operazione sul database o aprire la connessione nel form.load e chiuderla all'uscita?
Grazie in anticipo a tutti.
kataklisma
Profilo
| Senior Member
394
messaggi | Data Invio:
lun 5 apr 2010 - 12:12
>Salve,
Ciao!
>ho un'applicazione in vb.net. Fino ad ora arivo una connessione
>al database per accedere ai dati, modificarli ed aggiornarli
>in diverse parti del programma. L'applicazione è installata su
>una decina di pc che accedono al db con una connessione ODBC.
>La domanda è semplice: conviene aprire e chiudere una connessione
>per ogni operazione sul database o aprire la connessione nel
>form.load e chiuderla all'uscita?
>Grazie in anticipo a tutti.
I database access hanno problemi che riguardano le connessioni multiple e concorrenti.
Ti conviene, a mio parere, esportare il db access su piattaforma sqlserver, in quanto la tua applicazione risulta essere distribuita su un alto numero di pc.
Utilizzando la versione express di sqlserver il passaggio è gratuito e usufruiresti di funzioni non implementate in access!
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/
kromax
Profilo
| Newbie
8
messaggi | Data Invio:
lun 5 apr 2010 - 13:20
Intanto grazie per la risposta.
Sto già facendo la migrazione verso SQLServer, ma nel frattempo....
Inoltre è vero come ho scritto che i pc sono un numero elevato, ma - trattandosi di un'applicazione legata ad eventi congressuali - è possibile che spesso i pc collegati siano non più di 3/4.
Inoltre la domanda non cambia: è meglio creare ed aprire una connessione da lasciare aperta e sfruttare per ogni singola transazione o aprire e chiudere la connessione per ogni transazione?
Se non sbaglio, qualunque sia la fonte dati la problematica rimane la stessa.
Grazie ancora.
kataklisma
Profilo
| Senior Member
394
messaggi | Data Invio:
lun 5 apr 2010 - 20:45
>Intanto grazie per la risposta.
Di niente ;)
>Sto già facendo la migrazione verso SQLServer, ma nel frattempo....
>Inoltre è vero come ho scritto che i pc sono un numero elevato,
>ma - trattandosi di un'applicazione legata ad eventi congressuali
>- è possibile che spesso i pc collegati siano non più di 3/4.
>Inoltre la domanda non cambia: è meglio creare ed aprire una
>connessione da lasciare aperta e sfruttare per ogni singola transazione
>o aprire e chiudere la connessione per ogni transazione?
>Se non sbaglio, qualunque sia la fonte dati la problematica rimane
>la stessa.
Beh, se vogliamo proprio precisare, a questo punto non posso dirti che architetturalmente parlando una progettazione client server con esposizione di servizi (vedi wcf) sarebbe stata l'ideale, in quanto avresti gestito una, ed una sola connessione al db da parte dell'application server.
Resta il fatto che a mio parere, sarebbe meglio aprire una connessione e chiuderla a fine programma, ANCHE per una questione di pulizia del codice.
Non ci sono particolari problemi nell'aprire e chiudere la connessione ma ci sarebbe un invio di richieste al DB a mio parere inutile.
Se hai fatto questa domanda probabilmente stai pensando di riprogettare parte del data layer e ti consiglierei vivamente, visto il passaggio a SqlServer, di dare un'occhiata a LinQ!
>Grazie ancora.
Di niente, siamo qui per questo!
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/
kromax
Profilo
| Newbie
8
messaggi | Data Invio:
mar 6 apr 2010 - 08:20
La mia domanda scaturisce da un comportamento anomalo che si sta verificando sempre più frequentemente. Ogni tanto (per ora posso solo constatare un comportamento casuale) si verifica un errore che mi avverte che il DB è stato aperto in modo esclusivo da un altro utente.
Non riesco a capire cosa stia succedendo, anche perché il codice di errore è molto generico (ERRORE MI0006) e le ricerche non hanno portato ad informazioni utili.
Ho deciso allora di aprire e chiudere le connessioni ogni volta che devo fare un accesso al DB e sembra, almeno per ora, che il problema sia risolto.
Devo per forza continuare ad utilizzare questa modalità di accesso mentre finisco la migrazione ad SQL.... e sono preoccupato per il funzionamento.
Ad ogni modo grazie per le informazioni.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !