天天看點

Asp.Net通過ODBC連接配接Oracle資料庫C#/.NET連接配接各類主流資料庫(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的連接配接字元串整理通過 ODBC 來連接配接 Oracle 資料庫

本來有個項目是通過安裝Oracle client然後讓asp.net引用System.Data.OracleClient來通路Oracle資料庫的,但是不知道為什麼老是報:ORA-12170:連接配接逾時的錯誤,(客戶的伺服器配置是:Windows Server 2008 R2 64bit 我剛開始安裝的oracle client 是32bit ,最後報什麼:require oracle version 8.1以上版本什麼什麼的。。。沒辦法我隻好解除安裝這個版本,然後在Oracle官網上下載下傳了一個Oracle Client 64bit來安裝,安裝好後就沒有這個問題了),tnsping,ping,telnet Ip 1521都是通的,但是就是連接配接不上,不過别人都能連接配接上,唯獨我的就不行,在網上搜尋好多文章,文章都不能解決問題,在客戶那裡的時候,客戶的網絡組人員說:網絡都是通的,這不是網絡原因!客戶的資料庫組的的人員說:資料庫安裝是對的,這不是資料庫的原因!你tmd的這是在開玩笑嗎,我也是醉了,在群裡問群友叫他們幫我解決下這個問題,都說是tns的問題,但是tns都是通過net manager配置的,什麼空格 什麼東西都不存在的事,是以不是tns的問題,然後有個群友開玩笑的對我說:恭喜你,你見鬼了!最後群裡有個大神,他給我了一個dbvis_windows_8_0_10軟體,貌似是通過java來連接配接資料庫的,然後引用一下:ojdbc6.jar就可以通路了!!!這是為何,我到現在都搞不清楚,不過我的項目是asp.net是以就算連接配接上了,對我也沒什麼用,是以我必須想想其它辦法 來連接配接Oracle,然後滿世界的在網上搜尋文章,看看關于用什麼辦法不通過安裝Oracle Client來通路Oracle!!!

終于被我找到了,可以通過ODBC來連接配接通路Oracle,然後參考了幾篇網上的文章做好了配置,運作,确實可以了,不過在這個過程中也走了不少彎路:如下

1、不需要在本地,或者伺服器上裝置ODBC資料源,但是你非常通過本地這樣設定的話,那你在web.config下的連接配接字元串可以寫成這樣:

Asp.Net通過ODBC連接配接Oracle資料庫C#/.NET連接配接各類主流資料庫(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的連接配接字元串整理通過 ODBC 來連接配接 Oracle 資料庫
Asp.Net通過ODBC連接配接Oracle資料庫C#/.NET連接配接各類主流資料庫(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的連接配接字元串整理通過 ODBC 來連接配接 Oracle 資料庫

這樣你就可以通路資料庫了,但是,我說但是,為什麼說我不這樣設定資料源呢!你想啊,難道使用者要通路你的資料庫都要設定本地ODBC資料源,顯然這不是正确的辦法,當然這樣也不錯,可以做為測試用,但是不能做為生産用。那麼真正在生産環境中我們的連接配接字元串如何寫呢,如下:

注意:上面的斜體部分,如果你部署在伺服器上這個ip就不需要了。

總結:

1、在配置ODBC資料源的時候不是使用者名寫錯,就是伺服器寫錯,反正自己當時也不知道哪個是對的,最後能成功也是靠我自己 的經驗慢慢改對的,網上有些文章也不全對,這點希望大家有所保留。

參考文章:

<a href="http://www.carlprothman.net/Default.aspx?tabid=90#ODBCDriverForOracleFromMicrosoft" target="_blank">ODBC DSN-Less</a>

<a href="http://blog.csdn.net/dotuian/article/details/8064715">ODBC資料源連接配接Oracle資料庫示例</a>

<a href="http://blog.csdn.net/chr561314/article/details/7189908">C#連接配接Oracle資料庫的四種方法</a>

上一篇: 2.4. Exception
下一篇: C#反射