c++ - 访问 DSN 有哪些访问限制

标签 c++ windows-services odbc dsn

我们将应用程序的一部分作为 Windows 服务运行,它需要能够访问 DSN 才能通过 ODBC 导入。然而,通过反复试验发现它可以访问的 DSN 似乎有很多限制。例如,它似乎不能 1. 除非运行该服务的帐户具有管理员权限,否则访问系统 DSN。 (尝试连接时出现拒绝访问错误) 2.访问由不同用户创建的用户DSN(这个是可以理解的)。 3.通过网络访问文件DSN

我读到文件 DSN 的目的是允许其他计算机使用它进行连接,但我似乎无法做到这一点。

所以有没有人知道,或者知道我在哪里可以找到使用 Windows 服务时访问 DSN 的所有规则和限制。 谢谢

最佳答案

这介于您的#1 和#2 之间:有时还需要正确的文件权限。我曾经在连接到 DB2 DSN 的 Vista 机器上遇到过麻烦,因为无论出于何种原因(可能是为了写出临时文件;虽然我不知道为什么它会在这个位置而不是用户特定的位置做这样的事情) , 驱动程序需要对 IBM 安装客户端二进制文件和库的目录进行写访问,这是由管理员完成的,位于 C 驱动器的根目录中。

关于c++ - 访问 DSN 有哪些访问限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127608/

相关文章:

c++ - 在大型项目中按名称查找函数的最佳方法是什么?

c++ - 构建了一个小程序来测试代码,但无法使循环正常工作

c++ - 如何在 Ubuntu 中使用 arm-linux-gnueabihf-g++ 在 amd64 系统上交叉编译 32 位 arm 架构的应用程序

.net - 最佳定时器间隔是多少? .NET Windows 服务

mysql - 获取 Excel 和 ODBC MySql 连接器之间的 DSN 体系结构不匹配

c++ - 如何转换为正确的祖先类以便定义模板特化

c# - 在Windows服务中通过网络访问共享文件夹

.net - 无法调试 Windows 服务 - 当前不会命中断点

python - 使用 pyODBC 连接到 ODBC

python - Teradata 和 sqlachemy 连接