簡體   English   中英

錯誤 [IM002] [Microsoft][ODBC Driver Manager] 未找到數據源名稱且未指定默認驅動程序

[英]ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我們有一個在以下環境中運行的 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 驅動程序。

上述方法似乎不能解決這個問題。 誰能告訴我它背后的問題以及解決這個問題的解決方案?

設置默認的 ODBC 驅動程序。 從 Windows 開始菜單中,單擊控制面板 > 管理工具 > 數據源 (ODBC)。 打開系統 DSN 選項卡。 選擇 ODBC_NAME 並單擊配置。

通常系統默認使用 32 位 ODBC。 但如果您沒有 32 位,則配置 64 位並設置為默認值。

對我來說,它正在工作。 我以 64 位構建 VS 應用程序,並通過設置默認 ODBC 驅動程序在 IIS 上發布。

如果您有可用的 DNS,那么您可以啟用從odbcad32.exe跟蹤 ODBC 調用。 然后從任何 ODBC 編輯器/工具測試 Oracle 連接(我經常使用使用odbc模塊的簡單 Python 程序對其進行測試)。 這樣的跟蹤將創建一個成功嘗試連接到數據庫的文件。 連接do數據庫關閉程序后,停止跟蹤並重命名跟蹤文件。

現在你必須為你的應用程序創建這樣的跟蹤:啟用跟蹤,啟動你的程序,嘗試連接數據庫,關閉程序,停止跟蹤。 您有兩個文件嘗試通過 ODBC 連接到數據庫:一個成功,一個失敗。 比較它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM