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