ASP.NET访问Oracle92时发生的错误, 請高手解答(50分)

  • 主题发起人 主题发起人 superaladn
  • 开始时间 开始时间
S

superaladn

Unregistered / Unconfirmed
GUEST, unregistred user!
错误信息如下:
'/WebApplication1' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
無法載入 DLL (oci.dll)。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.DllNotFoundException: 無法載入 DLL (oci.dll)。
原始程式錯誤:

行 32: DataTable dt = new DataTable();
行 33: OracleDataAdapter da = new OracleDataAdapter("select * from pcb_users",conn);
行 34: conn.Open();
行 35: da.Fill(dt);
行 36: conn.Close();

原始程式檔: c:/inetpub/wwwroot/webapplication1/webform1.aspx.cs 行: 34
堆疊追蹤:

[DllNotFoundException: 無法載入 DLL (oci.dll)。]
System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean&
isInTransaction)
System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean&
isInTransaction)
System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)
System.Data.OracleClient.OracleConnection.Open()
WebApplication1.WebForm1.Page_Load(Object sender, EventArgs e) in c:/inetpub/wwwroot/webapplication1/webform1.aspx.cs:34
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.516;
ASP.NET 版本:1.1.4322.516

在线等待,请熟悉.Net访问Oracle92操作的高手给以解答,多谢先。
 
da.Fill(dt,"表名");
 
I have try,But It did not work.
 
可能是权限的问题,网上有大量的贴子,我遇见过并解决了,你参考我在ITPUB上的答案
"我找了许久,在国外的网站上找到了解决办法,我所遇到的这个问题,很久以前国外国内有许多人都碰到过,这个问题的症结在于权限的设置,这是我摘抄解决方案.主要是将oracle/oracle92的读写权限赋予asp.net或者是IUSER_..和IWAM_..
原文:
When you install your Oracle Client (whatever it might be) make sure to install the Administrator option. In 9.2.0.1.0, it was about 500 MB. This installs all the correct files you need, including oci.dll. This should be similar for most oracle client versions.
After it isdo
ne, give iuser/iwam these permissions on Oracle (for me, it was D:/Oracle/, no need to go any further):
* Read&Execute
* List Folder Contents
* Read
Restart computer. "

 
我已經將上述的權限加給Oracle的根目錄,但是問題依然存在。
 
你用的是System.Data.OracleClient,建议到oracle上去下载ODP.net,采用这个数据提供者把微软的那个要好些。
你按照djzxljb说的作没错,这个问题在网上大量的转载,我也也试过,没问题。
 
要安装一个补丁。
 
补丁为Oracle9i Release 2 Data Provider for .NET,安装之后就正常了。
 
后退
顶部