Tra le varie procedure di connessione ad un Database esiste la connessione tramite DSN o meglio Data Source Name.
In .Net si possono realizzare connessioni DSN di sistema con notevole semplicità ovviamente sfruttando il driver ODBC.(consiglio la vers. 3.51) e, tramite l'uso di un' API di Windows.
L'esempio seguente illustrerà come è possibile realizzare direttamente da una WinForm una connessione Dsn.
Innanzitutto construiamo una form come da figura:In .Net si possono realizzare connessioni DSN di sistema con notevole semplicità ovviamente sfruttando il driver ODBC.(consiglio la vers. 3.51) e, tramite l'uso di un' API di Windows.
L'esempio seguente illustrerà come è possibile realizzare direttamente da una WinForm una connessione Dsn.
Una volta terminata la realizzazione della form con i relativi campi necessari per l'input dei dati andiamo a dichiarare in un modulo l'APi di windows ed alcune constanti indispensabili per la creazione del Dsn:
-------------------------------------------Module Module1
Public Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Integer, ByVal fRequest As Short, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Integer
Public Declare Function SQLCreateDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Integer, ByVal lpszDSN As String) As Integer
Public Const ODBC_ADD_DSN As Short = 1
Public Const ODBC_ADD_SYS_DSN As Short = 4
End Module
-------------------------------------------
Fatto questo possiamo scrivere il seguente codice all'interno del pulsante "Conferma attivazione":
-------------------------------------------Private Sub Conferma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Conferma.Click
Dim odbcs As String
Dim RISULTATO As Integer
If WizardCheck.CheckState = System.Windows.Forms.CheckState.Checked Then
odbcs = NomeDSN.Text
RISULTATO = SQLCreateDataSource(Me.Handle.ToInt32, odbcs)
Else
odbcs = "DSN=" + NomeDSN.Text + ";"
odbcs = odbcs + "DBQ=" + PathDB.Text + ";"
odbcs = odbcs + "DESCRIPTION=" + Descrizione.Text +";"
odbcs = odbcs + "UID=" + Utente.Text +";"
odbcs = odbcs + "PWD=" + Password.Text +";"
odbcs = odbcs + "DATABASE=" + DatabasePred.Text +";"
odbcs = odbcs + vbNullChar
If _TipoDSN_1.Checked = True Then
RISULTATO = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, NomeDriver.Text, odbcs)
End If
End If
If RISULTATO <> 0 Then
MsgBox("Creazione DSN riuscita con successo")
Else
MsgBox("Creazione DSN fallita?)
Me.Close()
End If
End Sub
-------------------------------------------
Se la creazione manuale del DSN è troppo complicata, potrete anche avviare lo Wizard (interfaccia guidata) ma saranno necessarie alcune righe aggiuntive di codice:
-------------------------------------------Private Sub WizardCheck_CheckStateChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles WizardCheck.CheckStateChanged
Dim STATO As Boolean
STATO = (WizardCheck.CheckState = System.Windows.Forms.CheckState.Unchecked)
ParametriFrame.Enabled = STATO
NomeDriverLabel.Enabled = STATO
NomeDriver.Enabled = STATO
PathDBLabel.Enabled = STATO
PathDB.Enabled = STATO
DescrizioneLabel.Enabled = STATO
Descrizione.Enabled = STATO
UtenteLabel.Enabled = STATO
Utente.Enabled = STATO
PasswordLabel.Enabled = STATO
Password.Enabled = STATO
DatabasePredLabel.Enabled = STATO
DatabasePred.Enabled = STATO
_TipoDSN_1.Enabled = STATO
End Sub
-------------------------------------------
Lanciando la nostra applicazione d'esempio e compilando i campi con i relativi dati, se la procedura verrà eseguita correttamente un messaggio lo confermerà.
Una prova del nove potrete farla verificando dal pannello di controllo l'effettiva creazione del Dsn di sistema
Una prova del nove potrete farla verificando dal pannello di controllo l'effettiva creazione del Dsn di sistema
1 commento:
Great insights! Just like staying informed is important, so is taking care of our vision. If you're looking for a trusted Eye Hospital in Coimbatore, check out The Eye Foundation for advanced eye care solutions
Posta un commento