将 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 数据库名称
SQL Server 在链接的 MS Access 表上插入后返回不同的记录