C#连接ORACLE数据库乱码问题
1. OracleClient方式,是微軟專門針對Oracle數(shù)據(jù)庫開發(fā)的,僅在 .NET Framework 1.1 版中受支持。據(jù)說速度快、性能好,是推薦使用的方式。但根據(jù)我的經(jīng)驗,當Oracle數(shù)據(jù)庫服務(wù)器端采用英文字符集比如 US7ASCII 時,客戶端不管字符集如何設(shè)置,讀出的中文都是亂碼;若服務(wù)器端用中文字符集比如 ZHS16GBK ,則無亂碼問題。
引用類庫:System.Data.OracleClient.dll。
命名空間:System.Data.OracleClient。
常用類:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。
典型連接字符串:“data source=oratest;user id=scott;password=tiger”(注意:可不指定 provider 驅(qū)動)。
2. OleDb方式,微軟和Oracle公司各自提供了OleDb的驅(qū)動程序,使用方法的差別很少。不管Oracle服務(wù)器端用何字符集,讀寫中文均無亂碼問題。
相同之處
命名空間:System.Data.OleDb。
常用類:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。
不同之處
引用類庫:微軟的只需要System.Data.dll;若用Oracle的驅(qū)動,雖然也只要引入System.Data.dll,但前提是首先安裝Oracle針對.Net的數(shù)據(jù)訪問組件。
連接字符串:與OracleClient方式相比,要添加一個provider,微軟為“provider=MSDAORA.1;”,Oracle為“provider='OraOleDb.Oracle';”。
轉(zhuǎn)載于:https://blog.51cto.com/lionkas/1309445
總結(jié)
以上是生活随笔為你收集整理的C#连接ORACLE数据库乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的Tab切换组件
- 下一篇: 51博客