我们有一个.exe应用程序,它使用一个.mdb Microsoft Access数据库。
我需要通过Microsoft SQL Server访问访问文件中的数据。我们有SQL Server 2008 R2 Enterprise,它有链接服务器指向此Access文件,我可以使用SQL语句运行select / update查询。
SELECT * FROM [LinkedServerAccessDB]...[SomeTable]
当某些应用程序尝试使用SQL Server实例名称以及用户名和密码连接到我的SQL Server时,如何配置此链接服务器(我的Access数据库)直接发布为“数据库”。我应该使用哪个“数据库名称”来使用直接链接的服务器?
谢谢
答案 0 :(得分:3)
听起来您希望MS Access Linked Server对象可用作数据库(即在SSMS的“Databases”文件夹中可用)。这是不可能的,直接。
建议您创建一个新的SQL Server数据库,该数据库模仿该Access数据库的名称。将用户映射到您上面的登录名。允许用户对链接服务器运行查询。
答案 1 :(得分:1)
您可以像这样使用CREATE SYNONYM。
USE ASQLServerDB
GO
CREATE SYNONYM Sometable FOR LinkedServerAccessDB...SomeTable
完成此操作后,您可以编写SELECT [...] from SomeTable
,就像它是数据库ASQLServerDB的成员一样
我只能让它在对象级别工作,因此您需要为要公开的每个对象执行此操作。如果你想让“发布为数据库”的感觉,你可以创建一个只包含这些同义词的空数据库。
--This doesn't work
CREATE SYNONYM Sometable FOR LinkedServerAccessDB...