我正在尝试建立一个链接服务器,SQL Server 2008 R2
从Access database
. Access database
不受密码保护。正如我在其他帖子(特别是这篇文章)中看到的那样,这通常是由于当前用户无法访问 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 的数据连接组件),但它们都不起作用。我还尝试将 ACE 提供程序配置"Dynamic Parameter"
为"Allow InProcess"
true。
此外,我尝试通过在 SQL 配置管理器中的字符串前面MSSQLSERVER services
添加" 来增加内存使用率,以排除内存问题。"-g512;
"startup parameters"
如果有人能对此有所了解,那就太好了!谢谢!
更新:我使用 sa 帐户登录 SQL,并且能够查看链接服务器。我当前的用户帐户在 SQL Server 中具有完全权限,因此我不确定帐户之间的区别是什么。也许我授予Temp
了 sa 帐户(内置)可以访问的错误文件夹的权限。如果有人能在这里为我指明正确的方向,那就太好了,我认为这也会帮助很多其他人。