ASP.NET 应用程序无法找到或连接到 64 位 Oracle 驱动程序的 DSN,错误数据源名称未找到
ASP.NET application is not able to find or connect to DSN of 64 bit Oracle Driver with error Data source name not found
我开发了 ASP.Net 应用程序,该应用程序通过 DSN 连接使用 ODBC 连接到 Oracle 数据库。
一切都在我的本地开发环境中运行,但在我部署到 IIS 中后,它无法连接到数据库并记录以下错误。
***[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified***
然后我开始寻找解决方案并尝试了以下方法,但没有任何效果。
已检查应用程序是使用任何平台开发的 CPU。
使用 Oracle 客户端 64 位 ODBC 数据源配置和测试 DSN 连接。在 64 位服务器上,DSN 也可以配置为 64 位和 32 位。
- 尝试在注册表中为 apppool 身份用户设置 DSN 权限。
- 尝试将启用 32 位应用程序的 AppPool 设置设为 True,在这种情况下,它会给出另一个错误,即 ODBC 和应用程序架构不匹配。
如果还有其他选择,请告诉我,否则我正在考虑安装 32 位 oracle 客户端并尝试使用 32 位 ODBC DSN 进行连接。
提前感谢您的帮助。
发现此 link 非常有帮助。
https://support.microsoft.com/en-in/kb/942976
它说明了 32 位和 64 位应用程序的 DSN 连接的可见性。
尝试使用小型测试实用程序 (winform),可以区分 32 位和 64 位应用程序的行为。
但无法找到 ASP.Net 应用程序的解决方案。
我使用 X64 平台构建代码,然后将其部署到 IIS 中。
我使用的是 11.2.0 客户端,因此它开始读取 DSN,但 算术运算导致溢出 异常。这是驱动需要安装补丁的问题。
https://blogs.msdn.microsoft.com/mariae/2012/07/05/arithmetic-operation-resulted-in-an-overflow-error-running-a-report-that-uses-a-connection-data-source-to-oracle-10/
我开发了 ASP.Net 应用程序,该应用程序通过 DSN 连接使用 ODBC 连接到 Oracle 数据库。 一切都在我的本地开发环境中运行,但在我部署到 IIS 中后,它无法连接到数据库并记录以下错误。
***[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified***
然后我开始寻找解决方案并尝试了以下方法,但没有任何效果。
已检查应用程序是使用任何平台开发的 CPU。
使用 Oracle 客户端 64 位 ODBC 数据源配置和测试 DSN 连接。在 64 位服务器上,DSN 也可以配置为 64 位和 32 位。
- 尝试在注册表中为 apppool 身份用户设置 DSN 权限。
- 尝试将启用 32 位应用程序的 AppPool 设置设为 True,在这种情况下,它会给出另一个错误,即 ODBC 和应用程序架构不匹配。
如果还有其他选择,请告诉我,否则我正在考虑安装 32 位 oracle 客户端并尝试使用 32 位 ODBC DSN 进行连接。
提前感谢您的帮助。
发现此 link 非常有帮助。 https://support.microsoft.com/en-in/kb/942976 它说明了 32 位和 64 位应用程序的 DSN 连接的可见性。 尝试使用小型测试实用程序 (winform),可以区分 32 位和 64 位应用程序的行为。 但无法找到 ASP.Net 应用程序的解决方案。
我使用 X64 平台构建代码,然后将其部署到 IIS 中。 我使用的是 11.2.0 客户端,因此它开始读取 DSN,但 算术运算导致溢出 异常。这是驱动需要安装补丁的问题。 https://blogs.msdn.microsoft.com/mariae/2012/07/05/arithmetic-operation-resulted-in-an-overflow-error-running-a-report-that-uses-a-connection-data-source-to-oracle-10/