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
ASP.NET 1.0/1.1
Connessione amysql
lunedì 15 maggio 2006 - 11.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ile73
Profilo
| Newbie
10
messaggi | Data Invio:
lun 15 mag 2006 - 11:39
Ciao a tutti, avrei bisogno di un consiglio.
Devo connettermi ad un db che per ora è crato in Mysql ma potrebbe essere ch ein futuro diventi anche un db in oracle o altro.
Vorrei utilizzare quindi un metodo piu indolore ai vari cambiamenti, pero anche veloce
Avevo pensato a Odbc o ad oledb ma , leggendo vari articoli, ho capito che a livello restazioneale sicuramente sarebbe piu veloce utilizzare direttament eil Net Provider per Mysql.(potre fareuna classe che a seconda del tipo di db utilizza un provider o l'altro 8per esempio per oracle utilizzerebbe la classe di oracle)
Cosa ne pensate?
E se invece utilizzassi Oledb sarebbe comunque veloce considerando una grade mole di dati?
grazie
Ile
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 15 mag 2006 - 11:45
Ciao
Potresti usare l'interfaccia IDBConnection e discriminare in base al tipo di database..
Alx81 =)
http://blogs.dotnethell.it/suxstellino
ile73
Profilo
| Newbie
10
messaggi | Data Invio:
lun 15 mag 2006 - 11:52
mi potresti fare un esempio di codice? non l'ho mai utilizzato..
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 15 mag 2006 - 11:54
appena riesco ti passo qualcosa..
Alx81 =)
http://blogs.dotnethell.it/suxstellino
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 15 mag 2006 - 13:00
Eccoti la classe passatami dal mio collega Luca =)
Ha un metodo pubblico NuovaConnessione al quale passi il tipo della connessione da creare e ti torna un IDBConnection con all'interno le configurazioni di connessione per il provider scelto..
tutto qui..
se ti serve in c#, la traduzione spetta a te =)
ciao!
Class DBConnector
Enum TipiConnessione As Byte
SQLClient = 1
OLEDBClient
ODBCClient
End Enum
Private Shared _stringaconnessione As String
Private Shared _tipoconnessione As TipiConnessione
Shared Sub New()
'imposta tu i parametri di connessione
_stringaconnessione = "..."
End Sub
Public Function NuovaConnessione(TipoConn as TipiConnessione) As IDbConnection
Select Case TipoConn
Case TipiConnessione.SQLClient
Dim conn As New SqlClient.SqlConnection(_stringaconnessione)
conn.Open()
Return conn
Case TipiConnessione.OLEDBClient
Dim conn As New OleDb.OleDbConnection(_stringaconnessione)
conn.Open()
Return conn
Case TipiConnessione.ODBCClient
Dim conn As New System.Data.Odbc.OdbcConnection(_stringaconnessione)
conn.Open()
Return conn
Case Else
'Solleva l'eccezione che vuoi
End Select
End Function
Public Sub RilasciaConnessione(ByVal Connessione As IDbConnection)
If Not Connessione Is Nothing Then
If Connessione.State = ConnectionState.Open Then Connessione.Close()
Connessione = Nothing
End If
End Sub
End Class
Alx81 =)
http://blogs.dotnethell.it/suxstellino
ile73
Profilo
| Newbie
10
messaggi | Data Invio:
lun 15 mag 2006 - 14:31
ok grazie 1000!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 15 mag 2006 - 14:38
Fammi sapere se sei riuscito.. ok?
Alx81 =)
http://blogs.dotnethell.it/suxstellino
ile73
Profilo
| Newbie
10
messaggi | Data Invio:
lun 15 mag 2006 - 15:00
si, l'unico dubbio è questo
Enum TipiConnessione As Byte
SQLClient = 1
OLEDBClient
ODBCClient
End Enum
ma in OLEDBClient e ODBCClient devo metterci dei valori?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 15 mag 2006 - 15:29
se vuoi sì, ma l'enumeratore ha il seguente comportamento:
Public Enum Prove As Byte 'solo numerici
VAL1 [= n]
VAL2 [= n]
VAL3 [= n]
End Enum
se non indichi n il primo valore parte da 0, altrimenti parte dalla n che hai stabilito tu, incrementando di uno per ogni chiave.. a meno che tu non indichi una n per ogni valore (e puoi farlo)..
Alx81 =)
http://blogs.dotnethell.it/suxstellino
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 !