数据源名称 (DSN) 是否与引用它的系统相关?

Are Data Source Names (DSN's) relative to the system referencing it?

这可能是一个简单的 yes/no 答案。我有一个经典的 ASP 文件,它通过引用 DSNODBC 字符串打开与访问数据库的 ADODB 连接。但是,我相信 DSN 必须为 IIS 机器所知,其中 ASP 是 运行,对吗?

基本上就是一个

"Yes it is correct"

答案,但要尝试解释一下为什么会这样。

在 Windows 环境中 DSN 只是另一种形式的连接字符串,存储在 Windows 注册表或文件系统中,由名为 [=10= 的程序管理] (odbcad32.exe).

如果您正在使用 IIS 并且 Web 应用程序包含对 DSN 的引用,那么您可能会在 ODBC Datasource AdministratorSystem DSN 选项卡中找到它们。然而,有一点需要注意,那就是 64 位操作系统的激增以及访问 DSN 受到的影响。


odbcad32.exe 位于何处?

  1. 机器 Window 操作系统是 64 位吗?

    • 是 - 转到第 2 点。

    • %SystemRoot%\System32\odbcad32.exe
  2. Web 应用程序 运行 是否在 32 Bit Mode 中?

    • 是的
      %SystemRoot%\SysWOW64\odbcad32.exe
    • 没有
      %SystemRoot%\System32\odbcad32.exe