使用链接服务器通过SQL Server公开Microsoft Access数据库

时间:2011-09-21 18:21:27

标签: sql-server sql-server-2008 linked-server

我们有一个.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数据库)直接发布为“数据库”。我应该使用哪个“数据库名称”来使用直接链接的服务器?

谢谢

2 个答案:

答案 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...