首先,在本地的$ORACLE_HOME/network/admin/tnsnames.ora中,建立目標(biāo)數(shù)據(jù)庫的tns; 然后,在命令行環(huán)境中執(zhí)行“tnsping ”,測試新建的tns能否連接目標(biāo)數(shù)據(jù)庫; 在 sql developer的連接框中,選擇新建的tns,輸入帳號密碼,就可以啦
在安徽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,安徽網(wǎng)站建設(shè)費用合理。
安裝odp.net
ODP.NET你不需要安裝Oracle,不需要配置oracle.key文件,不需要配置TnsNames.Ora文件 不需要配置環(huán)境變量;完全的傻瓜式的在沒有安裝oracle數(shù)據(jù)庫或者
客戶端等任何oracle的產(chǎn)品的機(jī)器去訪問Oracle數(shù)據(jù)庫!
數(shù)據(jù)庫為Oracle,就不要使用EF了。
問題已經(jīng)很明顯?!癕ake sure the provider is registered in the 'entityFramework' section of the application config file”,就是讓你看看在App.config文件中的provider。
【源文件中的內(nèi)容如下】:
entityFramework
provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /
/entityFramework
按理說,只要將provider /寫成:
provider invariantName="Oracle.ManagedDataAccess.Client" type="System.Data.OracleProviderServices, EntityFramework.OracleServer" /
之類即可,但是可悲??!
目前支持EF6的provider有:
(1)Microsoft SQL Server provider
(2)Microsoft SQL Server Compact Edition provider
(3)Devart dotConnect Data Providers 【注意】
(4)Firebird provider
(5)Visual Fox Pro porvider
(6)MySQL
(7)PostgreSQL
1、2、4、5、7均可以從NuGget中獲取。3、7需要到相應(yīng)的網(wǎng)站獲取。
注意第三個:這個插件就是用于Oracle數(shù)據(jù)庫的,其為第三方插件,由Devart公司開發(fā)。但有兩大致命缺點:1、收費(是30天免費試用,過了30天要么卸載,要么付款)。2、目前支持的Oracle的最高版本為:Oracle8.2i。
可以使用Entity Framework的Db First模式生成model。
第一步:創(chuàng)建
ASP .NET MVC項目
第二步:創(chuàng)建實體模型
在項目上右擊 添加新建項目→Ado.Net實體數(shù)據(jù)模型
如下圖所示:
第三步:與現(xiàn)有的數(shù)據(jù)庫進(jìn)行連接生成EF實體
然后按照如下所示,選擇從數(shù)據(jù)庫生成實體數(shù)據(jù)模型【當(dāng)然如果你想使用CodeFirst方式也是可以的,這是后話了】:
新建連接到現(xiàn)有的數(shù)據(jù)庫,如下圖所示:
點擊下一步,選擇我們要生成實體對應(yīng)的表、試圖、存儲過程等,如下圖所示:
最后點擊完成,則系統(tǒng)幫我們生成了數(shù)據(jù)庫實體類以及EDMX的定義文件。
如圖所示:
一OracleClient方式,是微軟專門針對Oracle數(shù)據(jù)庫開發(fā)的
引用類庫:System.Data.OracleClient.dll命名空間:System.Data.OracleClient
常用類:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等
連接字符串:“data source=**;user id=**;password=**”(注意:可以不指定 provider 驅(qū)動)
二OleDb方式
引用類庫:System.Data.dll命名空間:System.Data.OleDb
常用類:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。
連接字符串:與OracleClient方式相比,要添加一個provider,“provider=MSDAORA.1;”
下面是示例,分別用這兩種方式實現(xiàn)了相同的功能:連接數(shù)據(jù)庫,并將查詢到的數(shù)據(jù)放到dataSet中。
在EF圖上面右鍵,然后更新,選擇Func/SP,再保存,就可以使用該存儲過程了。