Si vas a copiar

.. y pegar este post en tu web o blog personal, por favor te pido que coloques el link del post de donde lo copiastes:

Fuente:

Conectarse a una base de datos Access 2007

13 de enero de 2010 No hay comentarios.:
Estoy haciendo una aplicacion que se conecta con una base de datos Access 2007 pero este codigo no funciona ya que muestra este error:


El proveedor 'Microsoft.Jet.OLEDB.4.0' no esta registrado en el equipo local


CODIGO C#:


using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace PRY
{
   class clsDatabase
   {

       public void Connect()
       {

           OleDbConnection conn = new OleDbConnection();
           conn.ConnectionString = 
               @"Provider=Microsoft.Jet.OLEDB.4.0;" +
               @"Data source=C:\db\test.accdb";
           try
           {
               conn.Open();
               // Insert code to process data.
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message, ex.Source);
           }
           finally
           {
               conn.Close();
           }
       }
   }
}




Averiguando en internet me encontre que ahora existe una nueva version de conexion para las base de datos Access 2007 entonces quedaria de esta manera:



using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace PRY
{
   class clsDatabase
   {

       public void Connect()
       {

           OleDbConnection conn = new OleDbConnection();

           conn.ConnectionString =
               @"Provider=Microsoft.ACE.OLEDB.12.0;" +
               @"Data source=C:\db\test.accdb";
           try
           {
               conn.Open();
               // Insert code to process data.
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message, ex.Source);
           }
           finally
           {
               conn.Close();
           }
       }
   }
}



Como ven en letras negritas eso es lo que cambia y asi poder conectarse a la base de datos Access 2007, incluso sirve para otros componentes como el Excel 2007

Si no tienen instalado o no quieren intalar el Office 2007 intala este paquete que instalara los nuevos drivers de conexion para Access 2007


Otras maneras de conectarse con ACE OLEDB 12.0 dependiendo de la seguridad:

Seguridad Estandar

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;


Con Contraseña en la base de datos
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;


Con la funcionalidad DataDirectory
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\myAccess2007file.accdb;Persist Security Info=False;



Fuente: http://www.connectionstrings.com/access-2007


Publicado en tttony.blogspot.com

Buscar en el Blog



PUBLICIDAD