J'ai une solution Visual Studio 2008 avec deux projets (un Mot-projet de Modèle et un VB.Net l'application de la console de contrôle). Les deux projets de référence d'un projet de base de données qui ouvre une connexion à un MS-Access 2007 fichier de base de données et des références à Système.Les données.OleDb. Dans le projet de base de données, j'ai une fonction qui récupère un tableau de données comme suit
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
Lorsque j'appelle cette fonction à partir de mon Modèle Word 2007 projet tout fonctionne bien; pas d'erreurs. Mais quand je le lance à partir de la console de l'application, il jette l'exception suivante
ex = {""Microsoft.ACE.OLEDB.12.0' le fournisseur n'est pas inscrit sur la machine locale."}
Les deux projets ont la même référence et l'application de console a fait un travail quand j'ai commencé à l'écrire (il y a un moment), mais maintenant, il a arrêté de travailler. Quelque chose doit m'échapper, mais je ne sais pas quoi. Des idées?