错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序

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

我们有一个 ASP.net Web 应用程序在以下环境中运行 -

现有环境

操作系统:Windows 2003

框架:.NET框架:2.0

IIS:6.0

数据库:Oracle 10g

我们希望将其升级到以下环境

目前环境

操作系统:Windows 2008 R2 x64

框架:.NET框架:2.0

IIS:7.0

数据库:Oracle 11g

这样做时,我们面临以下问题

Windows Server 2008 R2 64 位上的 ODBC 连接问题

无法从 Windows Server 2008 R2 中的 ASP.net Web 应用程序建立 ODBC 连接。

应用程序抛出错误:错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序。

连接字符串:

<add name="ConnectionString" connectionString="Driver=Oracle in XE;Dsn=winerenew;uid=winere;pwd=winere;dbq=XE;dba=W;apa=T;exc=F;fen=T;qto=T;frc=10;fdl=10;lob=T;rst=T;btd=F;bam=IfAllSuccessful;num=NLS;dpm=F;mts=T;mdi=F;csr=F;fwc=F;fbs=64000;tlo=O" providerName="System.Data.Odbc"/>

应用程序在 Windows 2008 x86 中完美运行。

我们尝试了以下方法来解决 Windows Server 2008 x64 中的此问题,

1) 启用应用程序池中的 32 位应用程序 (IIS 7)

2) 使用以下命令执行 ODBC 32 位驱动程序 C:\Windows\SysWOW64\odbcad32.exe

3) 安装oracle 64位ODBC驱动程序。

上述方法似乎并不能解决这个问题。谁能告诉我背后的问题以及解决这个问题的解决方案吗?

asp.net oracle odbc windows-server-2008-r2
2个回答
0
投票

设置默认 ODBC 驱动程序。 从 Windows 开始菜单中,单击控制面板 > 管理工具 > 数据源 (ODBC)。 打开系统 DSN 选项卡。 选择 ODBC_NAME 并单击配置。

一般系统默认使用32位ODBC。但如果你没有 32 位,请配置 64 位并设置为默认值。

对我来说它有效。 我在 64 位中构建 VS 应用程序,并通过设置默认 ODBC 驱动程序在 IIS 上发布。


-1
投票

如果您有有效的 DNS,那么您可以从

odbcad32.exe
启用跟踪 ODBC 调用。然后从任何 ODBC 编辑器/工具测试 Oracle 连接(我经常使用使用
odbc
模块的简单 Python 程序进行测试)。此类跟踪将创建成功尝试连接数据库的文件。连接后执行数据库关闭程序,停止跟踪并重命名跟踪文件。

现在您必须为您的应用程序创建这样的跟踪:启用跟踪,启动程序,尝试连接数据库,关闭程序,停止跟踪。您有两个文件尝试通过 ODBC 连接到数据库:一个成功,一个失败。比较一下。

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