[英]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.