Sql server 2005 访问SQL copy
我们有一个Access DB,它有一组本地表和输入表单等,用户在其中维护他们的数据 我们还有一个SQL数据库,它具有相同的表,用于在web搜索表单中显示数据 允许用户在保留本地工作副本的同时对SQL db进行修改的最佳方式是什么,这样用户就可以脱机工作,然后在对新版本的数据满意时推送文件 我的第一个想法是将SQL表添加为链接表,然后我可以截断(access就是这样做的)或删除每个表中的内容,然后对每个表进行插入 我是否可以从SQL上的access调用SP来截断表,因为我在运行删除时遇到问题 我真的很想让运行可重复的宏/sql调用的用户来决定Sql server 2005 访问SQL copy,sql-server-2005,ms-access,Sql Server 2005,Ms Access,我们有一个Access DB,它有一组本地表和输入表单等,用户在其中维护他们的数据 我们还有一个SQL数据库,它具有相同的表,用于在web搜索表单中显示数据 允许用户在保留本地工作副本的同时对SQL db进行修改的最佳方式是什么,这样用户就可以脱机工作,然后在对新版本的数据满意时推送文件 我的第一个想法是将SQL表添加为链接表,然后我可以截断(access就是这样做的)或删除每个表中的内容,然后对每个表进行插入 我是否可以从SQL上的access调用SP来截断表,因为我在运行删除时遇到问题 我真
感谢您的帮助您应该能够使用ADODB.Command对象来执行存储过程 编辑: 此示例是从
永远不要将MS Access链接表与MS SQL一起使用 它们不仅速度慢,而且访问会在引用的表上留下开放的客户端写游标。这是一种创建大量死锁的非常愚蠢的方法,但Access无论如何都会这样做 Microsoft在添加Access数据项目时显著改进了这一点,在这些项目中,整个后端都被SQL取代,Access只提供表单 如果您希望用户操作直接写回,那么ADP是目前为止最好的方法
如果您想在Access数据库中本地缓存更改,然后将它们发送到SQL,那么您将遇到一个更复杂的问题。您需要更具体地说明您希望如何实现同步—例如,如果两个用户进行脱机更改,并且在连接时谁获胜?我不明白您为什么不直接链接到SQL Server数据并直接使用它,而不费力气维护它的第二个副本。这是做事情的标准访问方式——为什么您要抵制您正在使用的工具的自然功能?单用户无需同步只需转储当前SQL数据并从Access文件中推送新数据(或仅推送更改的方式),然后我选择ADP选项。链接表(通过ODBC)使用SQL Server,Access可以正常工作。事实上,这是Microsoft推荐的使用Access作为SQL Server前端的场景:请参阅“Access数据项目(ADP)”标题下的内容。这很有趣。大约5年前,我将一个20人的DBA团队从Access迁移到SQL2000,发现链接表是一场灾难。也许这是他们在Access 2007中改进的东西,但从描述来看,它仍然像是先将所有数据下载到Jet。你有Access中的例子吗
Sub ADO_COMMAND_CONNECTION_TEST()
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
Dim strConn As String
cmd.ActiveConnection = " DRIVER={SQL Server};" & _
"Server=UKDUDE;DATABASE=pubs;UID=sa;PWD=;"
cmd.CommandText = "byroyalty"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Refresh
cmd.Parameters(1).Value = 25
Set rs = cmd.Execute
' Recordset now has authors with 25% royalty.....
End Sub