将 Access 链接从 SQL Server 更改为另一个 Access 文件?

Posted

技术标签:

【中文标题】将 Access 链接从 SQL Server 更改为另一个 Access 文件?【英文标题】:Change Access link from SQL Server to another Access file? 【发布时间】:2009-03-27 21:23:38 【问题描述】:

我已经看到很多关于将数据从 Access 移动到 SQL Server 的问题,但我想走另一条路。原因如下:

我一直在从事一个具有 SQL Server 2008 后端和 Access 2007 前端的大型项目。我希望能够在周末在家中做一些前端工作,但我无法从那里访问(*** 或其他)SQL Server。我想将我的链接表从 SQL Server 更改为另一个 Access 数据库文件,我在其中导入了 SQL Server 数据的快照。然后,在星期一早上,将链接切换回 SQL Server。

我的问题是当我转到链接表管理器并尝试更改链接时,我得到的只是 ODBC 选择数据源对话框。如果我尝试链接到 Access 数据库,它会告诉我 ODBC 不能用于链接、导入或导出到另一个 Access 文件。

我想到了一个想法,但我还没有尝试过;也许有人可以告诉我这是一个好主意还是坏主意:我是否能够删除链接,将它们重新创建到另一个 Access 文件,并且不会丢失我的查询/表单/报告中的任何功能?

【问题讨论】:

为什么不在家里安装SQL Server 2008 express,随身带一份备份回家安装? 【参考方案1】:

我的建议是在您的计算机上安装 SQLExpress(免费)。然后,您可以在机器上获得所有可用数据。在您的主服务器上创建一个发布,并让您的本地计算机订阅此复制(如果您不需要保存/同步在您的计算机上完成的数据更改,您可以坚持基本的“快照”复制。)

然后,您只需将连接字符串从您的网络 MSSQLSERVER 更改为您的本地 SQLEXPRESS 服务器实例,您的应用程序即可运行。

如果出于任何原因,您必须在离线时对数据库模型进行更改,那么您必须在本地服务器上进行更改之前取消订阅主服务器。当您回到办公室时,请确保在主服务器上进行相同的更改。我的建议是在 T-SQL 中编写您的更改,将它们保存在一个文件中,并在您恢复工作后针对主服务器启动该文件。

我的意见:不要在周末工作太多,或者确保您的客户为此付费。

【讨论】:

完美答案。对于提问者 - 你可以在这里获得各种 Express Edition 版本:sqlserverpedia.com/wiki/SQL_Server_Express_Edition【参考方案2】:

对于链接表,您需要完全删除它们并重新创建它们。当您仍在使用 ODBC 时,使用链接表管理器刷新 ODBC 链接甚至无法可靠地工作,因为表链接定义中缓存的数据不会被刷新(例如,如果您更改了SQL Server 视图,使用 Linked Table Manager 刷新表链接将更新列数,但您不一定会获得可更新的视图(假设原始视图是可更新的)。

但尚不清楚您是否会失去功能。这一切都取决于您的应用程序的逻辑有多少是服务器端的,在 SQL Server 视图和存储过程中。如果您链接到 Jet 后端,这些都不起作用。

【讨论】:

以上是关于将 Access 链接从 SQL Server 更改为另一个 Access 文件?的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 MS Access 传输到 SQL Server

自动将新数据从 MS Access 数据库导入 SQL Server

需要在 MS Access 中使用链接表更改 sql server 数据库名称

SQL Server 在链接的 MS Access 表上插入后返回不同的记录

如何将 sql server 链接到 Microsoft Access?

从 sql server 读取 2010 年的 Access 数据库中的数据