Tengo una solución de Visual Studio 2008 con dos proyectos (un proyecto de plantilla de Word y una aplicación de consola VB.Net para probar). Ambos proyectos hacen referencia a un proyecto de base de datos que abre una conexión a un archivo de base de datos MS-Access 2007 y tiene referencias a System.Data.OleDb. En el proyecto de base de datos tengo una función que recupera una tabla de datos de la siguiente maneraEl proveedor de Microsoft.ACE.OLEDB.12.0 no está registrado
private class AdminDatabase
' stores the connection string which is set in the New() method
dim strAdminConnection as string
public sub New()
...
adminName = dlgopen.FileName
conAdminDB = New OleDbConnection
conAdminDB.ConnectionString = "Data Source='" + adminName + "';" + _
"Provider=Microsoft.ACE.OLEDB.12.0"
' store the connection string in strAdminConnection
strAdminConnection = conAdminDB.ConnectionString.ToString()
My.Settings.SetUserOverride("AdminConnectionString", strAdminConnection)
...
End Sub
' retrieves data from the database
Public Function getDataTable(ByVal sqlStatement As String) As DataTable
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Dim localCon As New OleDbConnection
localCon.ConnectionString = strAdminConnection
Using localCon
Dim command As OleDbCommand = localCon.CreateCommand()
command.CommandText = sqlStatement
localCon.Open()
da.SelectCommand = command
da.Fill(dt)
getDataTable = dt
End Using
End Function
End Class
Cuando llamo a esta función de mi proyecto Word 2007 Plantilla todo funciona bien; sin errores. Pero cuando lo ejecuto desde la aplicación de consola que arroja la siguiente excepción
ex = { "La '' Microsoft.ACE.OLEDB.12.0 proveedor no se ha registrado en la máquina local ."}
Ambos proyectos tienen la misma referencia y la aplicación de consola funcionó cuando la escribí por primera vez (hace un tiempo) pero ahora ha dejado de funcionar. Debo extrañar algo, pero no sé qué. ¿Algunas ideas?
También estoy enfrentando el mismo problema. ¿Pueden ayudarme? donde encontraré el instalador del proveedor de la base de datos de acceso 2007? –
see -> http://stackoverflow.com/questions/6649363/ – Bernhard