【发布时间】:2013-03-15 20:37:54
【问题描述】:
我正在尝试建立一个从SQL Server 2008 R2 到Access database 的链接服务器。 Access database 不受密码保护。正如我在其他帖子 (specifically this one) 中看到的,这通常是由于当前用户无法访问 NetworkService 文件夹中的 Temp 文件夹。由于我们在Windows Server 2008 中运行它,因此目录结构与大多数人所逃避的完全不同。我已允许访问"root:\Documents and Settings\" directory 中的每个临时文件夹,但无济于事。
这是我用来添加链接服务器的过程:
EXEC sp_addlinkedserver
@server = N'OS_Access',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@srvproduct = N'',
@datasrc = N'C:\RTBData\Data\OS.mdb';
GO
它可以毫无问题地创建链接服务器,但我无法查看数据库的表/视图。同样,我的 ASP.NET 应用程序也无法访问它。
ACE and JET(64-bit)(通过安装 Office 数据连接组件)我都试过了,但它们都不起作用。我还尝试将带有"Dynamic Parameter" 和"Allow InProcess" 的ACE 提供程序配置为true。
此外,我尝试通过在 SQL 配置管理器中的 "startup parameters" 字符串前面添加 "-g512;" 来增加 MSSQLSERVER services 的内存使用量,以排除内存问题。
如果有人能对此有所了解,那就太棒了!谢谢!
更新:我使用 sa 帐户登录 SQL,并且能够查看链接服务器。我当前的用户帐户在 SQL Server 中具有完全权限,因此我不确定帐户之间的区别是什么。也许我授予了错误的Temp 文件夹的权限,sa 帐户(内置)可以访问该文件夹。如果有人可以在这里为我指出正确的方向,那就太好了,我认为这也会帮助很多其他人。
【问题讨论】:
标签: sql sql-server sql-server-2008 linked-server