我在使用與IIS的ODBC連接時遇到了一些問題。
這裏是我的配置:IIS5 - ODBC - 未找到數據源名稱,未指定默認驅動程序
- 在Windows XP上的IIS 5
- ASP.NET 2.0
- 甲骨文9
- VS 2005
當我嘗試過上使用我的web應用程序IIS,我有以下異常:
錯誤[IM002] [Microsoft] [ODBC驅動程序管理器]找不到數據源名稱並且沒有指定默認驅動程序
但是,當我在VS2005中使用它像一個網站時,我沒有任何錯誤。
所以,我想嘗試做一個很小的應用程序,用下面的代碼:
using System;
using System.Data;
using System.Data.Odbc;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OdbcConnection con = new OdbcConnection();
con.ConnectionString = "DSN=<MyDSN>;Uid=<LOGIN>;Pwd=<PASSWORD>";
IDbCommand com = new OdbcCommand();
com.CommandText = "select sysdate from dual;";
com.CommandType = CommandType.Text;
com.CommandTimeout = 30;
com.Connection = con;
try
{
con.Open();
Response.Write(com.ExecuteScalar());
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
}
}
}
它VS的web服務器上正常工作(即:http://localhost:3715/Web/Default.aspx),但我有同樣的異常(IM002)當我在IIS上使用它(即:http://localhost/Tester/default.aspx)。
我的DSN在「ODBC數據源管理器」上聲明,並且在測試連接時工作良好...
ASPNET帳戶與我的用戶帳戶(管理員)位於同一組中。
對於HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC和HKEY_CURRENT_USER \ Software \ odbc鍵的 ASPNET帳戶的完整權限。
我讀過這個post,但沒有工作......
看我計算器上回答後(搜索,相關的問題,等等),谷歌......但我沒有找到工作?解決方案...
是否有任何人誰擁有一個想法...
哪裏是我的錯......
UPDATE:2011/04/06
什麼我迄今所做的:
- 跟蹤ODBC:在VS'Web服務器上,我得到日誌;但在IIS上,沒有...
- 系統和用戶DSN都充滿了相同的信息
- 允許ASPNET,IUSR_XXX,IWAN_XXX,所有用戶(原文如此......)佔全部權限:%ORACLE_HOME%,HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC,HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE
Windows,VS和IIS都是32位(所以沒有c:\ windows \ syswow64)。
檢查PATH值,並首先放入%ORACLE_HOME%。
IIS每次修改時都會重置,我的電腦會重新啓動兩次。
但是,現在我收到了以下消息:
錯誤[IM003]由於系統錯誤998(Oracle dans OraHome92),指定的驅動程序無法加載。
,我終於找到了...... 的管理員有權安裝所有驅動程序,以便用戶只能使用...
我想創建一個系統的環境變量ORACLE_HOME ...
有隻用戶var:s
感謝您的幫助。
我驗證了加里·比格斯M.的答案,因爲系統/用戶之間的差別......