gpt4 book ai didi

visual-studio - Microsoft.ACE.OLEDB.12.0 提供程序未注册

转载 作者:行者123 更新时间:2023-12-03 05:30:38 24 4
gpt4 key购买 nike

我有一个包含两个项目的 Visual Studio 2008 解决方案(一个 Word 模板项目和一个用于测试的 VB.Net 控制台应用程序)。这两个项目都引用一个数据库项目,该项目打开与 MS-Access 2007 数据库文件的连接,并引用 System.Data.OleDb。在数据库项目中,我有一个检索数据表的函数,如下所示

 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

当我从 Word 2007 模板项目中调用此函数时,一切正常;没有错误。但是当我从控制台应用程序运行它时,它会抛出以下异常

ex = {"The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."}

两个项目都有相同的引用,当我第一次编写它时(不久前)控制台应用程序确实可以工作,但现在它已经停止工作了。我一定错过了一些东西,但我不知道是什么。有什么想法吗?

最佳答案

基本上,如果您使用的是 64 位计算机,则 IIS 7(默认情况下)不会为数据库引擎运行的 32 位应用程序提供服务。所以这正是你所做的:

1) 确保已安装 2007 数据库引擎,可以在以下位置下载: http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

2) 打开IIS7管理器,然后打开应用程序池区域。在右侧边栏上,您将看到一个选项“设置应用程序池默认值”。单击它,将弹出一个带有选项的窗口。

3) 向下的第二个字段表示“启用 32 位应用程序”,默认情况下可能设置为 FALSE。只需单击显示“false”的位置即可将其更改为“true”。

4) 重新启动您的应用程序池(您可以通过点击“RECYCLE”而不是“STOP”然后“START”来完成此操作,这也可以)。

5) 完成后,您的错误消息就会消失。

关于visual-studio - Microsoft.ACE.OLEDB.12.0 提供程序未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/238625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com