我研究了“如何将MS Access链接表获取到SQL Server”,但是,没有发现适用于我的情况的任何结果。
我正在将数据库(db1
)从MS Access升级到SQL Server。我需要将链接表从db1
导入SQL Server(2016)。
是否有某种方法可以将链接表连接移至我的SQL Server?我当前拥有的链接表是从一个Access数据库到另一个Access数据库。
注意:db1
中的链接表是到另一个MS Access(2007)数据库的。
答案 0 :(得分:2)
通过打开与SQL Server的连接并执行其所需的任何任务(例如SELECT,INSERT,UPDATE等)来访问“链接” SQL Server表。
如果您正在谈论采用另一种方式,则没有SQL Server将打开Access数据库以执行查询的“反向”功能。
如果只需要从Access导入数据到SQL Server,请右键单击数据库并选择“任务”,然后选择“导入数据”。
编辑:显然可以使用Access在SQL上创建链接服务器,但是考虑到Access锁定不是为任何大量的并发而设计的,我还是建议不要使用它,除非这只是一次性的事情。
答案 1 :(得分:1)
好吧,您的工作可能已经完成了。如果您的Access DB不太复杂,则Upsize向导可能会为您完成一些工作。
但是,如果您的数据库有些复杂,并且我猜是这样,那么Upsize向导将无济于事。向导绝对不会处理表格和报告;这些是Access特有的。 SQL将有所不同,但可能仅稍有不同。可能有很多方法可以解决此问题。我想到的一种可能性是,可以将Access中的所有表导出为CSV文件,然后将这些CSV文件批量加载到SQL Server中。至少,这会将数据加载到架构中。然后,您可以开始重建查询。好吧,一次只做一个步骤即可。
' VBA to run in Access
Option Compare Database
Private Sub Command0_Click()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentData
For Each obj In dbs.AllTables
If Left(obj.Name, 4) <> "MSys" Then
DoCmd.TransferText acExportDelim, , obj.Name, obj.Name & ".csv", True
'DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, obj.Name, obj.Name & ".xls", True
End If
Next obj
End Sub
我认为,这应该可以帮助您前进。如果您还有其他问题或需要进一步澄清此概念,请发回。同样,可能有解决此问题的方法。这只是想到的一件事。