【发布时间】:2012-03-14 05:57:40
【问题描述】:
我有一个窗口应用程序,我在其中尝试连接到一个 Access 数据库,该数据库有一个使用 C# 中的 OLEDB 链接到 SharePoint 列表的表
我的尝试:
- 对数据库使用 Access 2007 格式,对 ConnectionString 使用 Microsoft.ACE.OLEDB.12.0
- 一切正常,直到有人报告错误“'Microsolf.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册”
- 检查:他有 Windows x86、Access 2003,但没有 2007,并且没有安装“2007 Office System Driver: Data Connectivity Components”
- 安装这些(公司机器)真的很麻烦而且很耗时
- 对数据库使用 Access 2003 格式,对 ConnectionString 使用 Microsoft.ACE.OLEDB.12.0
- 与上述相同的错误。所以我猜这是导致问题的“Microsoft.ACE.OLEDB.12.0”。但我不知道如何解决。
- 对数据库使用 Access 2003 格式,对 ConnectionString 使用 Microsoft.Jet.OLEDB.4.0
- 我的机器上出现错误:“找不到可安装的 ISAM”(我没有 Access 2003,只有 Access 2007)
- 他的机器:完美运行
请帮助我指出我可以做些什么来解决此问题,而无需让每个人都将其 Office 版本更新到 2007 或让应用程序在连接到 Access 数据库之前检查人们的 Office 版本。
提前致谢。
【问题讨论】:
-
您排除了“2007 Office System Driver”的安装,因此您也排除了您的第 1 点和第 2 点。我将尝试整理“找不到可安装的 ISAM”和
-
我猜您正在使用 32 位 ACE 驱动程序创建您的应用程序,因此 Jet 4.0 驱动程序应该可以在您的机器上使用。在我切换到 64 之前,我同时拥有 ACE 和 Jet:support.microsoft.com/kb/829558
-
@Steve 是的,期待您的帮助。我认为这应该可以解决,因为我认为 Microsoft Office 应该是向后兼容的,对吧?
-
我目前做的是查看机器上安装了什么Office版本,然后使用对应的数据库和连接。虽然不是一个理想的解决方案..
标签: c# sharepoint ms-access .net-2.0 oledb