自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET連接Oracle的四個常見問題

開發(fā) 后端
本文向您介紹ASP.NET連接Oracle數(shù)據(jù)庫的四個常見問題,包括協(xié)議適配器錯誤、VS.NET鏈接Oracle時報錯等。

ASP.NET連接Oracle問題1:System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

原因:NTFS權(quán)限問題,在ORACLE9I時總是遇到

解決方法:

1、以管理員的用戶登錄;

2、找到ORACLE_HOME文件夾(我的是C:\oracle\ora92),點(diǎn)右鍵,選屬性--安全,在組或用戶欄中選“Authenticated Users”,在下面權(quán)限列表中把“讀取和運(yùn)行”的權(quán)限去掉,再按應(yīng)用;重新選上“讀取和運(yùn)行”權(quán)限,點(diǎn)擊應(yīng)用;選權(quán)限框下面的“高級”按鈕,確認(rèn)“Authenticated Users”后面的應(yīng)用于是“該文件夾、子文件夾及文件”,按確定把權(quán)限的更改應(yīng)用于該文件夾;

3、重新啟動計(jì)算機(jī),讓權(quán)限設(shè)置生效(請注意,這一步很重要);

4、登錄后運(yùn)行asp.net應(yīng)用,正常取得Oracle數(shù)據(jù)庫的數(shù)據(jù)。

ASP.NET連接Oracle問題2:ORA-12560: TNS: 協(xié)議適配器錯誤

解決方法:

①.檢查Terminal Service, 遠(yuǎn)程桌面是不是起因

②.環(huán)境變量set oracle_sid=需要的服務(wù)名

③.listener.ora, tnsnames.ora等內(nèi)機(jī)器名或者IP地址是否正確

④.netstat -a檢查端口是否被占用

⑤.檢查注冊表HKEY_LOCAL_MACHINE\Software\Oracle\Home0新增字符串USE_SHARED_SOCKET =True

ASP.NET連接Oracle問題3:ORA-12571、ORA-03113、ORA-03114、ORA-01041

特征:客戶端(代理或應(yīng)用服務(wù)器)有時報這類斷連錯誤

原因:如果偶爾出現(xiàn)一次,則可能為網(wǎng)絡(luò)原因或用戶異常中止,如果經(jīng)常出現(xiàn)則為客戶端與服務(wù)端的字符集不一致。

措施:如果偶爾出現(xiàn),可在服務(wù)端的協(xié)議配置文件PROTOCOL.ORA中增加一行TCP.NODELAY=YES;

如果經(jīng)常出現(xiàn),則為客戶端與服務(wù)端字符集不一致或網(wǎng)絡(luò)原因。

客戶端的字符集在注冊表里定義:       

HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG

在客戶端注冊表中的TCP參數(shù)項(xiàng)中設(shè)置:   

TCPMAXDATARETRANSMITIONS=20。

ASP.NET連接Oracle問題4:使用VS.NET鏈接Oracle時報錯

ORA-03114: not connected to Oracle

解決方法:

在打了下面的補(bǔ)丁后,問題依舊:

FIX: A pooled connection is not disposed by Microsoft .NET Managed Provider for Oracle when an exception occurs

http://support.microsoft.com/default.aspx?scid=kb;en-us;830173

產(chǎn)生該原因是ADO.NET將一個無效的Oracle連接放回了連接池,當(dāng)下一次使用時就會產(chǎn)生問題。所以解決方法是禁用連接池。禁用連接池的方法是在連接字符串中將pooling 設(shè)為false。

最后,通過禁用連接池并在每次session開始的時候關(guān)閉連接然后重新建立解決了問題。

問題由于oracle重啟或者連接中斷而ADO.Net仍然未釋放連接所致,解決方法是通過禁用OracleClient的Pooling,禁用方法是在連接字符串中加上Pooling=false.

另外,據(jù)了解,Sql Server重啟也會引起Asp.Net類似的問題,如果使用SqlClient,也可以用同樣的方法禁用Pooling.若是OLEDB的連接方式,則在連接字符串中加上OLE DB Services=-4;來禁用Connection Pool.

【編輯推薦】

  1. ASP.NET 2.0教程 數(shù)據(jù)源控件解析
  2. 在ASP.NET中向數(shù)據(jù)庫批量插入數(shù)據(jù)
  3. ASP.NET用Post方式向網(wǎng)頁發(fā)送數(shù)據(jù)
  4. ASP.NET 2.0部署WEB應(yīng)用程序淺析
  5. ASP.NET中的HttpWorkerRequest對像
  6. 介紹ASP.NET MVC框架
責(zé)任編輯:冰荷 來源: yesky
相關(guān)推薦

2009-07-20 14:32:08

2009-07-30 12:30:27

ASP.NET中使用S

2009-04-01 16:46:31

問題開發(fā)WebService

2012-06-12 09:37:26

2009-07-29 15:26:43

ASP.NET連接Or

2011-08-01 23:34:34

ASP.NETOracle

2010-04-23 09:58:30

Oracle管理

2009-08-06 15:56:40

ASP.NET Coo

2009-09-22 09:22:03

.NET常見問題

2010-04-14 14:37:56

Oracle卸載

2022-10-26 14:55:53

AIoT物聯(lián)網(wǎng)人工智能

2011-01-26 11:09:07

2009-07-29 11:18:21

ASP.NET連接My

2009-08-25 17:42:41

ASP.NET新手問題

2011-07-12 16:07:42

OracleToad環(huán)境變量

2010-04-27 18:24:56

Oracle常見問題

2010-04-28 11:09:47

Oracle常見問題

2021-11-02 10:08:25

安全左移網(wǎng)絡(luò)安全漏洞

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號