Hola a todos
Estoy intentando hacer una aplicación en VB 2008, en la que se le permita al usuario seleccionar entre dos bases de datos distintas (Sqlite y Firebird). Leyendo encontre que esto puede hacerse mediante DbProviderFactory, en la que se crean objetos genéricos (connection, datareader, etc.) en vez de los correspondientes a un proveedor en particular (SQLiteConnection, etc), pero no logro hacerlo funcionar.
El codigo que tengo es el siguiente (por ahora solo con Sqlite):
Código:
Imports System.Data.Common
Public Class Form3
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strProveedor As String
Dim proveedor As Data.Common.DbProviderFactory
Dim conexion As DbConnection
Dim cm As DbCommand
Dim dr As DbDataReader
Dim conStr As String
strProveedor = "System.Data.Sqlite"
conStr = "Data Source = prueba.bd.sqlite"
proveedor = DbProviderFactories.GetFactory(strProveedor)
conexion = proveedor.CreateConnection()
cm = proveedor.CreateCommand()
conexion.ConnectionString = conStr
conexion.Open()
cm.Connection = conexion
cm.CommandText = "Select * from personas"
dr = cm.ExecuteReader
End Sub
End Class
Al ejecutarlo obtengo el siguiente error:
Cita: No se encuentra el proveedor de datos de .Net Framework solicitado. Puede que no esté instalado.
Investigando un poco encontré también que hay que registrar el proveedor pero no se bien cuales son los pasos para hacerlo. Puse unas lineas en el archivo app.config (XML) pero tampoco funciona.
Les agradezco por cualquier sugerencia.
Leoi