.Net使用Oracle驱动访问数据库

1.使用Oracle.DataAccess.dll中的Oracle.DataAccess.Client对象访问

安装过oracle的目录下可以找到Oracle.DataAccess.dll,目录在 D:\oracle\product\11.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll注意转化为自己的安装目录。

其次这个是区分32位和64位的,故必须将你的编译平台选为合适的才能够正确通过编译。

至于使用方法和微软提供的System.Data.OracleClient类似。

2.使用Oracle.ManagedDataAccess.dll,这个据说是Oracle的12c版本中有的,我电脑上装的Oracle版本是11.2,所以dll是拷过来的。连接字符串就不能用Oracle监听配置中的别名了,连接字符串如下:

"Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.40.45)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db)));User ID=***;Password=***"

即DataSource需要配置为监听描述。

这一段摘自网络:

{

oracle.manageddataaccess默认情况下只支持direct connection,
如果要支持tns name,即ez connection,需要在app.config或者web.config里添加如下设置:

<configSections>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess" />
</configSections>
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="TNS_ADMIN" value="D:\app\ava\product\11.2.0\client_1\Network\Admin"/>
</settings>
</version>
</oracle.manageddataaccess.client>

}

后来想想应该还是要给监听文件tnsname.ora,同时考虑到Oracle.DataAccess.dll在Oracle的安装目录下,那么我这个版本没有,我就下个ODP.NET_Managed121020,解压缩后里面common文件夹下就有Oracle.ManagedDataAccess.dll。然后修改了network中的tnsname.ora即可以利用别名书写连接字符串,并且操作数据库了。

我在想想实际中利用Oracle.ManagedDataAccess.dll该怎么部署,我考虑下有答案再来补充。

你可能感兴趣的:(oracle,.net)