ASPNET MVC5+EF6连接Oracle数据库有哪些方式

ASPNET MVC5+EF6连接Oracle数据库有哪些方式,第1张

一OracleClient方式,是微软专门针对Oracle数据库开发的

引用类库:System.Data.OracleClient.dll命名空间:System.Data.OracleClient

常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等

连接字符串:“data source=**user id=**password=**”(注意:可以不指定 provider 驱动)

二OleDb方式

引用类库:System.Data.dll命名空间:System.Data.OleDb

常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。

连接字符串:与OracleClient方式相比,要添加一个provider,“provider=MSDAORA.1”

下面是示例,分别用这两种方式实现了相同的功能:连接数据库,并将查询到的数据放到dataSet中。

首先,在本地的$ORACLE_HOME/network/admin/tnsnames.ora中,建立目标数据库的tns; 然后,在命令行环境中执行“tnsping ”,测试新建的tns能否连接目标数据库; 在 sql developer的连接框中,选择新建的tns,输入帐号密码,就可以啦

数据库为Oracle,就不要使用EF了。

问题已经很明显。“Make sure the provider is registered in the 'entityFramework' section of the application config file”,就是让你看看在App.config文件中的<provider>。

【源文件中的内容如下】:

<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需要到相应的网站获取。

注意第三个:这个插件就是用于Oracle数据库的,其为第三方插件,由Devart公司开发。但有两大致命缺点:1、收费(是30天免费试用,过了30天要么卸载,要么付款)。2、目前支持的Oracle的最高版本为:Oracle8.2i。

哎!数下流剑客,还是Oracle!!!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6696527.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存