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

时间:2009-03-27 21:23:38

标签: sql-server ms-access odbc ms-access-2007

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

我的意见:周末不要做太多工作,或确保为您的客户收取费用。

答案 1 :(得分:0)

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

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