c# for Oracle -Oracle.ManagedDataAccess
因为微软不再为Oracle 提供数据连接支持,包括DB2、MySql 等也是如此,一次需要厂家自己封装数据库连接和处理组件,目前Oracle为C#提供的连接组件
OracleDataAccess 进行介绍和说明:
一、组件介绍
Oracle.ManagedDataAccess.dll
Oracle 官方的托管数据库访问组件,单DLL,即 Oracle.ManagedDataAccess.dll,不安装Oracle客户端,不区分32/64位,直接引用即可。
其中包含2个动态库:
Oracle.ManagedDataAccess.dll 为数据库连接和处理组件,
其中包括OracleConnection、OracleCommand、OracleDataAdapter 等常用类
Oracle.ManagedDataAccess.EntityFramework.dll 就不用说了,自然是为EF框架,即实体数据模型提供支持
以上两个动态库可用通过官网下载或者用Nuget中直接下载使用。
二、配置文件定义说明
方法一、无配置文件情况,直接连接DB
实例代码:
string oracleConnStr="Data Source=localhost:1521/orcl;User Id=t1;Password=***;pooling=true";
using(OracleConnection conn=new OracleConnection(oracleConnStr)){
try{
conn.Open();
MessageBox.Show("Connect Successful!");
}caption(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
连接字符串没有特别之处,Data Source=数据源 User Id=用户名 Password=密码 需要注意的是数据源 localhost:1521/orcl pooling=true 是否使用连
接池,前面localhost:1521 是服务器和监听端口,后面跟的是 "/",像 Delphi 中 ODAC 是 Server=localhost:1521:orcl
两则略有区别。
2、使用配置文件方式
(1)使用tnsnames.ora文件,此文件需放置在应用程序同目录:(说明:该文件未在在 你的盘符:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN 下)
tnsnames.ora 文件内容如下:
orcl=
(Description=
(Address=(Protocl=tcp)(host=localhost)(port=1521)
(connect_data=
(Server=Dedicated)
(Service_name=orcl)
)
))
(2)使用app.config或web.config配置文件定义别名(无tnsnames.ora文件的情况下)
<oracle.managedaccess.client>
<version number="*">
<dataSources>
<dataSource alias="orcl" descriptor="(Description=(Address=(Protocl=tcp)(host=localhost)(port=1521)(connect_data=
(Server=Dedicated)(Service_name=orcl))))">
</dataSource>
</dataSources>
</version>
</oracle.managedaccess.client>
(3)使用TNS_ADMIN目录:
<oracle.managedaccess.client>
<version number="*">
<settings>
<setting name="TNS_ADMIN" value="F:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN"
</settings>
</version>
</oracle.managedaccess.client>
OracleDataAccess 进行介绍和说明:
一、组件介绍
Oracle.ManagedDataAccess.dll
Oracle 官方的托管数据库访问组件,单DLL,即 Oracle.ManagedDataAccess.dll,不安装Oracle客户端,不区分32/64位,直接引用即可。
其中包含2个动态库:
Oracle.ManagedDataAccess.dll 为数据库连接和处理组件,
其中包括OracleConnection、OracleCommand、OracleDataAdapter 等常用类
Oracle.ManagedDataAccess.EntityFramework.dll 就不用说了,自然是为EF框架,即实体数据模型提供支持
以上两个动态库可用通过官网下载或者用Nuget中直接下载使用。
二、配置文件定义说明
方法一、无配置文件情况,直接连接DB
实例代码:
string oracleConnStr="Data Source=localhost:1521/orcl;User Id=t1;Password=***;pooling=true";
using(OracleConnection conn=new OracleConnection(oracleConnStr)){
try{
conn.Open();
MessageBox.Show("Connect Successful!");
}caption(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
连接字符串没有特别之处,Data Source=数据源 User Id=用户名 Password=密码 需要注意的是数据源 localhost:1521/orcl pooling=true 是否使用连
接池,前面localhost:1521 是服务器和监听端口,后面跟的是 "/",像 Delphi 中 ODAC 是 Server=localhost:1521:orcl
两则略有区别。
2、使用配置文件方式
(1)使用tnsnames.ora文件,此文件需放置在应用程序同目录:(说明:该文件未在在 你的盘符:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN 下)
tnsnames.ora 文件内容如下:
orcl=
(Description=
(Address=(Protocl=tcp)(host=localhost)(port=1521)
(connect_data=
(Server=Dedicated)
(Service_name=orcl)
)
))
(2)使用app.config或web.config配置文件定义别名(无tnsnames.ora文件的情况下)
<oracle.managedaccess.client>
<version number="*">
<dataSources>
<dataSource alias="orcl" descriptor="(Description=(Address=(Protocl=tcp)(host=localhost)(port=1521)(connect_data=
(Server=Dedicated)(Service_name=orcl))))">
</dataSource>
</dataSources>
</version>
</oracle.managedaccess.client>
(3)使用TNS_ADMIN目录:
<oracle.managedaccess.client>
<version number="*">
<settings>
<setting name="TNS_ADMIN" value="F:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN"
</settings>
</version>
</oracle.managedaccess.client>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!