Microsoft.ACE.OLEDB.12.0提供程序未注冊(cè)我有一個(gè)帶有兩個(gè)項(xiàng)目的Visual Studio 2008解決方案(一個(gè)Word-Template項(xiàng)目和一個(gè)用于測(cè)試的VB.Net控制臺(tái)應(yīng)用程序)。這兩個(gè)項(xiàng)目都引用一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目,該項(xiàng)目打開(kāi)與MS-Access 2007數(shù)據(jù)庫(kù)文件的連接,并引用System.Data.OleDb。在數(shù)據(jù)庫(kù)項(xiàng)目中,我有一個(gè)函數(shù),它按如下方式檢索數(shù)據(jù)表 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 FunctionEnd Class當(dāng)我從我的Word 2007模板項(xiàng)目中調(diào)用此函數(shù)時(shí),一切正常; 沒(méi)有錯(cuò)誤。但是當(dāng)我從控制臺(tái)應(yīng)用程序運(yùn)行它時(shí)會(huì)拋出以下異常ex = {“'Microsoft.ACE.OLEDB.12.0'提供程序未在本地計(jì)算機(jī)上注冊(cè)?!眪兩個(gè)項(xiàng)目具有相同的引用,并且控制臺(tái)應(yīng)用程序在我第一次編寫時(shí)(前一段時(shí)間)確實(shí)有效,但現(xiàn)在它已停止工作。我必須遺漏一些東西,但我不知道是什么。有任何想法嗎?
Microsoft.ACE.OLEDB.12.0提供程序未注冊(cè)
Smart貓小萌
2019-07-24 19:29:33