Sur le même principe de la connexion à une base MySQL, voici quelques petites fonctions permettant de se connecter un n'importe quelle source de données (du moment qu'un Lien DSN système est créé sur le serveur WEB).
Ces fonctions sont valables pour le cas d'une machine sous FrameWork 1.0 ayant installé ODBC.NET.
Pour une question de simplicité d'utilisation, je les ai regroupé dans une class qu'il vous suffit d'intégrer dans un fichier xxx.vb qui sera dans votre projet.
Source / Exemple :
Imports Microsoft.Data.Odbc
Imports System.Web
' ------------------------------------------------------------------------------------
Public Class ODBC_Requettes
' ------------------------------------------------------------------------------------
Public Shared Function MyODBCReader(ByVal ReqSQL As String, ByVal MaConnexionString As String) As OdbcDataReader
' Connexion à un server via ODBC avec requette qui renvoie un datareader
Dim MyODBCConnexion As New OdbcConnection(MaConnexionString)
Try
Dim MyCommand As New OdbcCommand()
Dim MyDataReader As OdbcDataReader
MyODBCConnexion.ReleaseObjectPool()
MyODBCConnexion.Open()
MyCommand.Connection = MyODBCConnexion
MyCommand.CommandText = ReqSQL
MyDataReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection)
MyODBCReader = MyDataReader
MyODBCConnexion.ReleaseObjectPool()
Catch MyOdbcException As OdbcException
HttpContext.Current.Trace.Write(MyOdbcException.ToString)
Catch MyException As Exception
HttpContext.Current.Trace.Write(MyException.ToString)
Finally
If Not (MyODBCConnexion Is Nothing) Then
MyODBCConnexion.Close()
MyODBCConnexion = Nothing
End If
End Try
End Function
' --------------------------------------------------------------------------
Public Shared Function MyODBCDataset(ByVal ReqSQL As String, ByVal MaConnexionString As String, ByVal NomDataTable As String) As DataSet
' Connexion à un server via ODBC avec le Driver ODBC 3.51 avec requette qui renvoie un dataset
Dim MyODBCConnexion As New OdbcConnection(MaConnexionString)
Try
Dim ds As New DataSet()
Dim cmd As OdbcDataAdapter = New OdbcDataAdapter(ReqSQL, MyODBCConnexion)
Dim MyCommand As New OdbcCommand()
Dim MyDataReader As OdbcDataReader
cmd.Fill(ds, NomDataTable)
Return ds
Catch MyOdbcException As OdbcException
HttpContext.Current.Trace.Write(MyOdbcException.ToString)
Catch MyException As Exception
HttpContext.Current.Trace.Write(MyException.ToString)
Finally
If Not (MyODBCConnexion Is Nothing) Then
MyODBCConnexion.Close()
MyODBCConnexion = Nothing
End If
End Try
End Function
' ------------------------------------------------------------------------------------
Public Shared Function MyODBCExecute(ByVal ReqSQL As String, ByVal MaConnexionString As String)
' Connexion à un serveur via ODBC qui exécute une requette (insert, delete ou update)
Dim MyODBCConnexion As New OdbcConnection(MaConnexionString)
Try
Dim MyCommand As New OdbcCommand()
Dim MyDataReader As OdbcDataReader
MyODBCConnexion.Open()
MyCommand.Connection = MyODBCConnexion
MyCommand.CommandText = ReqSQL
MyCommand.ExecuteNonQuery()
MyODBCConnexion.ReleaseObjectPool()
Catch MyOdbcException As OdbcException
HttpContext.Current.Trace.Write(MyOdbcException.ToString)
Catch MyException As Exception
HttpContext.Current.Trace.Write(MyException.ToString)
Finally
If Not (MyODBCConnexion Is Nothing) Then
MyODBCConnexion.Close()
MyODBCConnexion = Nothing
End If
End Try
End Function
' ------------------------------------------------------------------------------------
End Class
==================================
' Pour utiliser cette classe il suffira donc de faire comme dans l'exemple suivant :
Protected WithEvents DataGridResultats As System.Web.UI.WebControls.DataGrid
....
Dim MaConnexionString As String = "DSN=MonDSN;uid=MonLogin;pwd=MonPass"
Dim MaRequetteSQL As String = "SELECT * FROM MaTable;"
Dim MaDatasetResultat As DataSet
MaDatasetResultat = ODBC_Requettes.MyODBCDataset(MaRequetteSQL, MaConnexionString, "ListeResultats")
DataGridResultats.DataSource = MaDatasetResultat.Tables("ListeResultats")
DataGridResultats.DataBind()
MaDatasetResultat.Dispose()
Conclusion :
Cette classe est à adapter pour les développeur travaillant sous le FrameWork 1.1.
Bon Coding
Romelard Fabrice (Alias F___)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.