【问题标题】:Unable to connect to Linked Server (Excel file) when using SQL account使用 SQL 帐户时无法连接到链接服务器(Excel 文件)
【发布时间】:2016-03-10 17:16:41
【问题描述】:

计划

让 HR 人员将工资单职位名称的 Excel 文件转储到网络共享中,将该文件添加为 SSMS 中的链接服务器,在我的 ASP.Net Web 表单中使用这些标题。使用链接服务器而不是导入数据,以允许 HR 自行决定更新职称文件。

问题

只要我在带有 Windows 身份验证的 SSMS 中,我就可以创建链接服务器并毫无问题地查询它。但是,如果我尝试使用 SQL 帐户访问链接服务器,我首先会收到错误:

访问远程服务器被拒绝,因为不存在登录映射(错误 7416)

正在使用的 SQL 帐户与我的 Web 表单用于其他所有操作的帐户相同。这个 SQL 帐户没有文件权限这一事实并不奇怪,因此调整链接服务器的安全性应该可以解决问题。

问题(第 2 部分)

为了减少变量的数量,我移动了 Excel 文件,使其与我的 SQL Server 位于同一台计算机上。我已登录机器并使用我的域管理员帐户登录 SSMS。

我访问了链接服务器的安全选项卡,为了尽可能扩大网络,我将本地登录(顶部)留空并直接前往“使用此安全上下文:”并继续提供我的域管理员凭据。我点击 OK,我得到以下信息:

不是有效的帐户名或密码(错误 7399)

我知道账号名和密码都不错,那给什么?

其他事情

已指示遇到类似情况的人更改用于 SQL Server 服务的登录帐户,我已使用我的域管理员帐户(用于故障排除,atm)完成此操作。这并没有解决问题。

这就是链接服务器代码的样子,尽管我是通过 GUI 创建的(为了完整性而包含在内):

EXEC master.dbo.sp_addlinkedserver @server = N'ADP_TITLES', @srvproduct=N'', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'C:\JOB_TITLE_EXPORT.xlsx', @provstr=N'Excel 12.0 Xml'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ADP_TITLES',@useself=N'False',@locallogin=NULL,@rmtuser=N'DOMAIN\username',@rmtpassword='########'

【问题讨论】:

    标签: sql excel ssms linked-server


    【解决方案1】:

    解决方案似乎是输入“admin”进行远程登录,并将密码留空。

    但是,这仅适用于文件存储在本地的情况。如果它在网络上,我仍然会收到 7399 错误,但不是说问题是帐户名/密码,而是说问题未指定。

    不过,我可以让我的项目使用本地文件。由于我将继续前进,因此我无需征求其他答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 2016-12-04
      • 1970-01-01
      • 2014-11-19
      • 2021-07-01
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多