Mysql, ADO .net 2.0 y VB 2005
Publicado por AOG (4 intervenciones) el 16/09/2005 20:15:26
Hola,
Estoy viendo con Visual Basic 2005 como funciona lo nuevo de ADO .Net 2.0 a lo que ser refiere a la clase de DbProviderFactory para utilizar un proveedor de base de datos
independiente (poder usar MS SQL Server o MySql) en mi proyecto VB 2005
he creado la siguiente rutina:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim sProveedor As String
Dim ProData As Data.Common.DbProviderFactory
Dim oDB As DbConnection '= myProvider.CreateConnection()
Dim cmDB As DbCommand
Dim drArt As DbDataReader
Dim eArt As New EArticulos
Dim sCadenaConexion As String
If MsgBox("Si->Ms Sql Server, No-> MySQL", MsgBoxStyle.YesNo) =
MsgBoxResult.Yes Then
sProveedor = "System.Data.SqlClient"
sCadenaConexion = "Data Source=SERVIDORSQL;Initial
Catalog=2003;Integrated Security=True"
Else
sProveedor = "MySql.Data.MySqlClient"
sCadenaConexion = "server=SERVIDORMySQL;user id=prueba;
password=1000; database=2005; pooling=false"
End If
ProData = DbProviderFactories.GetFactory(sProveedor)
oDB = ProData.CreateConnection()
cmDB = ProData.CreateCommand()
oDB.ConnectionString = sCadenaConexion
oDB.Open()
cmDB.Connection = oDB
cmDB.CommandText = "Select Cod, Nom, PVP from Articulos"
drArt = cmDB.ExecuteReader
eArt.Load(drArt, Data.LoadOption.OverwriteChanges, "Articulos")
MsgBox(eArt.Articulos(1).Cod & ", " & eArt.Articulos(1).Nom)
drArt.Close()
oDB.Close()
End Sub
Cuando elijo el proveedor MS SQL Server funciona, me muestra los datos del primer registro. Si elijo el proveedor MySql me da un error me muestra el siguiente mensaje:
Unable to find the requested .Net Framework Data Provider. It may not be
installed.
Este error me lo provoca en la línea:
ProData = DbProviderFactories.GetFactory(sProveedor)
En otra rutina pruebo el proveedor MySql.Data.MySqlClient directamente y
conecta con el servidor MySql 4.1 y me muestra también el primer registro.
¿Alguien sabe que es lo que está pasando?
Es que no soporta el proveedor MySql, estoy utilizando el proveedor
connector net 1.0.5 es el último que está disponible en al Web www.mysql.com,
en teoría, esta clase (DbProviderFactories) está para soportar proveedores
nativos.
Un Saludo.
Estoy viendo con Visual Basic 2005 como funciona lo nuevo de ADO .Net 2.0 a lo que ser refiere a la clase de DbProviderFactory para utilizar un proveedor de base de datos
independiente (poder usar MS SQL Server o MySql) en mi proyecto VB 2005
he creado la siguiente rutina:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim sProveedor As String
Dim ProData As Data.Common.DbProviderFactory
Dim oDB As DbConnection '= myProvider.CreateConnection()
Dim cmDB As DbCommand
Dim drArt As DbDataReader
Dim eArt As New EArticulos
Dim sCadenaConexion As String
If MsgBox("Si->Ms Sql Server, No-> MySQL", MsgBoxStyle.YesNo) =
MsgBoxResult.Yes Then
sProveedor = "System.Data.SqlClient"
sCadenaConexion = "Data Source=SERVIDORSQL;Initial
Catalog=2003;Integrated Security=True"
Else
sProveedor = "MySql.Data.MySqlClient"
sCadenaConexion = "server=SERVIDORMySQL;user id=prueba;
password=1000; database=2005; pooling=false"
End If
ProData = DbProviderFactories.GetFactory(sProveedor)
oDB = ProData.CreateConnection()
cmDB = ProData.CreateCommand()
oDB.ConnectionString = sCadenaConexion
oDB.Open()
cmDB.Connection = oDB
cmDB.CommandText = "Select Cod, Nom, PVP from Articulos"
drArt = cmDB.ExecuteReader
eArt.Load(drArt, Data.LoadOption.OverwriteChanges, "Articulos")
MsgBox(eArt.Articulos(1).Cod & ", " & eArt.Articulos(1).Nom)
drArt.Close()
oDB.Close()
End Sub
Cuando elijo el proveedor MS SQL Server funciona, me muestra los datos del primer registro. Si elijo el proveedor MySql me da un error me muestra el siguiente mensaje:
Unable to find the requested .Net Framework Data Provider. It may not be
installed.
Este error me lo provoca en la línea:
ProData = DbProviderFactories.GetFactory(sProveedor)
En otra rutina pruebo el proveedor MySql.Data.MySqlClient directamente y
conecta con el servidor MySql 4.1 y me muestra también el primer registro.
¿Alguien sabe que es lo que está pasando?
Es que no soporta el proveedor MySql, estoy utilizando el proveedor
connector net 1.0.5 es el último que está disponible en al Web www.mysql.com,
en teoría, esta clase (DbProviderFactories) está para soportar proveedores
nativos.
Un Saludo.
Valora esta pregunta


0