SQL Server连接错误 - 数据源名称未找到和指定默认驱动程序

问题描述 投票:0回答:1

当运行EXE开发基于Windows Server 2012 R2,它连接到SQL Server 2012和快速的共享文件夹所在的第三方,会出现以下错误:

[微软] [ODBC驱动程序管理器]数据源名称未找到和指定默认驱动程序。

当EXE是“以管理员身份运行”它工作正常。但随着Office和其他程序这个应用程序接口,使管理员身份运行并将其放到与其他应用程序冲突受保护的内存空间。我需要它正常打开,如前。

因为客户端工作站有10的Windows 1803及更高版本只出现此错误。奇怪的是,该更新到1803或更高工作站不受影响。只有在新安装发生问题。

有一些关于1803改变了网络堆栈,客户端,这造成了很多的用于SQL连接不同的问题,我已经看到了上百种不同的解决方案,但是对我们来说没有任何的工作。

客户机连接到服务器2012使用域登录帐户。每个域用户帐户被授予本地管理员权限和完全的管理员权限。该客户端工作站的正常的Windows 10临用ESET杀毒软件安装。当测试ODBC连接,它是成功的和作品。运行该程序的功能,只有当发生错误。

在服务器端,我已....已启用命名管道,残疾人和删除SMB1.0

那么,什么是怎么回事?为什么从1803上,我们必须以管理员身份运行来获取连接?

sql-server odbc
1个回答
0
投票

数据源名称未找到

我会先检查数据源定义下面的“用户”或“系统”。如果用户为管理员没有办法访问它,除非用户以前使用选项运行“与管理权限运行”

如果它被定义为系统DSN可能1803之后,用户没有足够的权限来访问它存储在注册表中,所以这是最有可能的情况。

最佳的是看你能不能修改使用OLE或别的东西,而不是ODBC的连接,因此它可以是DNSless,最终尝试定义与以下用户相同的名称与谁在运行它应该之前,可以读取同一用户DSN框架是要寻找同一DSN名称下的系统/本地计算机注册表部分。

要解决更深层次的注册表权限问题,你可以使用Sysinternals公司前从微软站点下载procmon中,这必须执行使用“有管理权限运行”

© www.soinside.com 2019 - 2024. All rights reserved.