【问题标题】:Is it possible to use SQL Server Compact as a backend for MS Access?是否可以使用 SQL Server Compact 作为 MS Access 的后端?
【发布时间】:2017-02-24 23:15:26
【问题描述】:

我希望创建一个具有偶尔连接的在线同步功能的 Access 应用程序。这个想法是在本地使用 SQL Server Compact 作为后端,然后使用程序将其同步到服务器端 SQL Server。我找不到足够确凿的证据证明你不能这样做。您可以使用 SQL Server Compact 作为 MS Access 应用程序的后端吗?

【问题讨论】:

    标签: ms-access sql-server-ce


    【解决方案1】:

    你最好的选择可能是Sql Server LocalDB

    LocalDB 使用与完整 Sql Server 相同的数据类型和格式,引擎甚至依赖于为完整 Sql Server 构建的库。但与常规的 Sql Server Express Edition 不同,它不会作为服务运行,即使您的主应用程序没有运行,并且the installation deployment story is a bit easier, too

    在 Access 端,您可以设置 ODBC 连接来创建链接表以供您的应用程序使用,这与使用 Sql Server Express Edition 的方式非常相似。

    【讨论】:

    • 您能否将 LocalDB 作为复制订阅者连接到 SQL Server 的在线版本?
    【解决方案2】:

    您可以按照here 的描述通过 ADO 进行操作。

    但是当您希望复制数据时,使用 SQL Server Express 会简单得多,因为它可以立即设置为复制订阅者到由您的服务器端 SQL Server 发布的数据库。

    【讨论】:

    • ADO 方法有许多限制:不支持 blob 类型,不支持简单的数据绑定
    • 这个建议没有意义,也不适用于访问。您可以创建一些 ADO 记录集的想法与能够使用精简版运行 Access 应用程序有任何关系,这绝对是 BRAIN DEAD GALACTICALLY CRAZY AND INCORRECT 建议。由于没有 ODBC 驱动程序,您根本无法使用带有访问权限的 SQL 精简版运行或使用典型的访问应用程序。这意味着报告和任何绑定表单(99.99% 的访问应用程序假定并要求)将不起作用。能够创建 ADO 记录集与使用带有 Acces 的紧凑 SQL 的相关性几乎为零
    【解决方案3】:

    不,不可能,您应该使用 SQL Server Express - 是什么阻止您这样做?

    【讨论】:

    • 我们将在属于我们现场销售人员的 30 台笔记本电脑上安装此数据库。我有一种感觉,使用 SQL Server Compact,管理安装和更新会更容易。我可能是错的......
    • 如果您可以避免使用 SQL Server 的本机复制选项,您可以考虑SQL Server 2016 Express LocalDB。这是一个静默安装。
    • @WestAce 您对部署问题的看法是正确的,但安装是轻量级的,可以很容易地保持静默 - 但是确实需要管理员访问权限(与 SQL Compact 不同)
    • 不仅仅是部署。 Express Edition 仍然是一个始终运行的服务器引擎,即使在 Access 应用程序关闭时也是如此,因此一直在使用系统资源,包括能够为该数据库获取的尽可能多的 RAM。 IMO 将 Sql Server Express 用于桌面应用程序存储并不是一个好主意。它更适合工作组大小的数据库,或者当数据库是工作站存在的原因时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多