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
C# 使用c在32位和64位windows中打开ms access.mdb#_C#_Ms Access_Jet - Fatal编程技术网

C# 使用c在32位和64位windows中打开ms access.mdb#

C# 使用c在32位和64位windows中打开ms access.mdb#,c#,ms-access,jet,C#,Ms Access,Jet,我使用类似“Provider=Microsoft.Jet.OLEDB.4.0;…”的连接字符串打开.mdb数据库。 移动到64位计算机这不再有效,因为没有64位实现 我的理解是,这样做是因为Jet不受欢迎。 有一种变通方法,可以将应用程序编译为仅以32位运行 我们应该搬到哪里去? 是否有新的32位和64位提供程序? 我们应该搬到哪里去 SQLServerExpress2008R2。迁移到SQLServerExpres大约是10年前宣布的 是否有新的32位和64位的提供程序 您对“新”的定义已有1

我使用类似“Provider=Microsoft.Jet.OLEDB.4.0;…”的连接字符串打开.mdb数据库。 移动到64位计算机这不再有效,因为没有64位实现

我的理解是,这样做是因为Jet不受欢迎。 有一种变通方法,可以将应用程序编译为仅以32位运行

我们应该搬到哪里去?
是否有新的32位和64位提供程序?

我们应该搬到哪里去

SQLServerExpress2008R2。迁移到SQLServerExpres大约是10年前宣布的

是否有新的32位和64位的提供程序

您对“新”的定义已有10年历史:)

我们应该搬到哪里去

SQLServerExpress2008R2。迁移到SQLServerExpres大约是10年前宣布的

是否有新的32位和64位的提供程序


您对new的定义已有10年历史:)

将应用程序的目标平台更改为x86,而不是“任何cpu”。
这样,您的应用程序将在64位系统上以WOW64模式运行,并将使用32位Jet提供程序。

将应用程序的目标平台更改为x86,而不是“任何cpu”。

这样,您的应用程序将在64位系统上以WOW64模式运行,并将使用32位Jet提供程序。

您尝试过此操作吗?

您尝试过此操作吗?

如果对某些应用程序的访问权限足够,则SQL Server对这些应用程序来说可能有点过头了。:)在这种情况下,最好使用SQL Server CE。不过,这比access做的还要少。确实如此。:)我有一个在sql server上运行的应用程序,需要支持“轻量级”桌面数据库。最终,我选择了Access,因为SqlCE有很多限制。(DB在共享时不支持并发连接,这是节目的阻碍因素)。好吧,“新”取决于引用,在这种情况下,我想到了Jet,然后你的建议肯定是新的:)SQL Server对于某些应用程序来说可能有点过火,如果这些应用程序的访问权限足够的话。:)在这种情况下,最好使用SQL Server CE。不过,这比access做的还要少。确实如此。:)我有一个在sql server上运行的应用程序,需要支持“轻量级”桌面数据库。最终,我选择了Access,因为SqlCE有很多限制。(DB在共享时不支持并发连接,这是节目的阻碍因素。)“新”取决于引用,在这种情况下,我想到了Jet,然后你的建议肯定是新的:)如果你读了这篇文章,你会发现没有64位的访问驱动程序。他们谈论的ACE提供商也是32位的。他们建议您将应用程序转换为sql server或sql server compact edition。@Frederik,Jet没有64位驱动程序;但是您可以将其更改为新的64位ACE驱动程序。好的,ACE驱动程序也是32位的吗?我只是通过将我的connectionstring更改为使用ACE.OLEDB.12.0驱动程序,并在x64模式下运行我的应用程序进行了测试,结果出现异常:“Microsoft.ACE.OLEDB.12.0驱动程序未注册”。在x86模式下运行应用程序时,它工作正常。@Frederik,您必须下载2010 x64 Access数据库引擎(从目标注释中提供的链接)。我是几周前做的。不幸的是,尽管它出现在微软的下载搜索页面上,但似乎已经离线。我想我几个月前也这么做了。:)我稍后会查清楚。如果你读了这篇文章,你会发现没有64位的访问驱动程序。他们谈论的ACE提供商也是32位的。他们建议您将应用程序转换为sql server或sql server compact edition。@Frederik,Jet没有64位驱动程序;但是您可以将其更改为新的64位ACE驱动程序。好的,ACE驱动程序也是32位的吗?我只是通过将我的connectionstring更改为使用ACE.OLEDB.12.0驱动程序,并在x64模式下运行我的应用程序进行了测试,结果出现异常:“Microsoft.ACE.OLEDB.12.0驱动程序未注册”。在x86模式下运行应用程序时,它工作正常。@Frederik,您必须下载2010 x64 Access数据库引擎(从目标注释中提供的链接)。我是几周前做的。不幸的是,尽管它出现在微软的下载搜索页面上,但似乎已经离线。我想我几个月前也这么做了。:)我稍后会查看它以确定。+1是最优雅的遗留解决方案。我还建议他们转向SQLExpress实现,以防止将来出现问题。作者可以轻松地让您的应用程序在安装SQL Express数据库时进行安装和设置。作者还可以使用Office2010,根据讨论的链接线程,它具有64位支持。是的,到目前为止,这是解决方案。问题更多的是如何继续进行未来的项目。对于最优雅的遗留解决方案+1。我还建议他们转向SQLExpress实现,以防止将来出现问题。作者可以轻松地让您的应用程序在安装SQL Express数据库时进行安装和设置。作者还可以使用Office2010,根据讨论的链接线程,它具有64位支持。是的,到目前为止,这是解决方案。问题更多的是关于如何继续进行未来的项目。Jet没有被弃用,但您使用的版本不是最新版本。它是Windows的所有副本上提供的版本,这使得它的使用非常方便,但它仅限于32位。它可以在64位Windows上正常工作,就像任何32位应用程序一样,因为64位Windows支持32位应用程序。Jet的最新版本是ACE,它有64位版本,如下所述。Jet没有被弃用,但您使用的版本不是最新版本。它是Windows所有副本上提供的版本,使用起来非常方便,