Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF和Access 95_Wcf_Ms Access_X86_Oledb - Fatal编程技术网

WCF和Access 95

WCF和Access 95,wcf,ms-access,x86,oledb,Wcf,Ms Access,X86,Oledb,首先,不要生气。我知道MS停止支持Access 95时出生的人现在都在上高中。我试图提供一条前进的道路 我在Win 8.1 64位计算机(VS 2013)上开发了一个WCF。当我的单元测试进行调用时,WCF需要查询数据库并返回数据集。我使用传统的dataAdapter.fill()调用来实现这一点。这导致本地计算机上未注册“Microsoft.jet.OLEDB.4.0”提供程序。错误。我在这个论坛上发现了几个帖子,上面说4.0驱动程序不能在64位应用程序中工作。因此,我将解决方案平台设置为“x

首先,不要生气。我知道MS停止支持Access 95时出生的人现在都在上高中。我试图提供一条前进的道路

我在Win 8.1 64位计算机(VS 2013)上开发了一个WCF。当我的单元测试进行调用时,WCF需要查询数据库并返回数据集。我使用传统的dataAdapter.fill()调用来实现这一点。这导致本地计算机上未注册“Microsoft.jet.OLEDB.4.0”提供程序。错误。我在这个论坛上发现了几个帖子,上面说4.0驱动程序不能在64位应用程序中工作。因此,我将解决方案平台设置为“x86”,在项目属性中,我将平台设置为“活动(x86)”。当我将平台目标设置为“x86”并尝试运行时,我收到另一个错误“system BadImageFormatException…”,因此我必须将其切换回“Any”。错误仍然存在

接下来,我认为VS web服务主机是64位运行的。我在本地开发人员计算机上安装了IIS,并在那里设置了项目,并将应用程序池设置为启用32位application=true,无更改。然后我尝试将DLL移动到sysWOW64并在那里注册,但仍然没有成功。我试图用“/32bit+”参数设置corflags,但发现该文件没有头,因此无法设置。最后,我升级到了版本。12驱动程序,并更改为连接字符串,但得到几乎相同的错误,“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册


在这一点上,我愿意接受任何建议。在这一切的开始,我可能错过了一些小细节。提前感谢您的帮助。

听起来您的WCF服务代码似乎正在64位领域中运行。您能让您的服务向您显示
IntPtr.Size*8
的结果以明确表示“32”或“64”位吗?它正在运行32位。现在我真的很困惑。