16年一月底回了四川,接下来两年就准备在四川工作了。哈哈,虽然收入比沿海城市少了很多,但离老家近些感觉还是很不错的哈,好了,废话不多说,直接上干货。

最近的项目需要用到C#连接Oracle,以前要么是Eclipse连接Oracle,觉得很好连接呀,后面做.net后,很长一段时间数据库都是用sqlserver。所以以为C#连接Oracle应该就改下连接字符串就行了,结果。。。。。。才有了接下来的这篇文章。C#连接Oracle总体来说,方法多种。有的需要安装客户端而且还要配置环境变量,需要用Oracle的驱动。特别是装客户端的方式,觉得有些麻烦,所以写这篇文章记录一下,方便以后查询。

方法:第三方驱动 Devart,下载驱动 http://www.devart.com/dotconnect/oracle/

连接代码如下:

连接字符串
<add name="conStr" connectionString="User Id=youName;Password=password;Server=127.0.0.1;Direct=True;Sid=datasouce;" /> #region 查询单个值
/// <summary>
/// 查询单个值
/// </summary>
/// <param name="commandText">执行的语句</param>
/// <param name="type">执行语句类型</param>
/// <param name="paras">参数</param>
/// <returns></returns>
public object ExecuteScalar(string commandText, CommandType type, params OracleParameter[] paras)
{ using (OracleConnection con = new OracleConnection(connectionString))
{
con.Open();
OracleCommand cmd = new OracleCommand(commandText, con);
cmd.CommandType = type;
if (paras != null)
cmd.Parameters.AddRange(paras); return cmd.ExecuteScalar(); }
} /// <summary>
/// 增删改
/// </summary>
/// <param name="commandText">执行的语句</param>
/// <param name="type">执行语句类型</param>
/// <param name="paras">参数</param>
/// <returns></returns>
public int ExecuteNonQuery(string commandText, CommandType type, params OracleParameter[] paras)
{ using (OracleConnection con = new OracleConnection(connectionString))
{
con.Open();
OracleCommand cmd = new OracleCommand(commandText, con);
cmd.CommandType = type;
if (paras != null)
cmd.Parameters.AddRange(paras); return cmd.ExecuteNonQuery(); }
}
/// <summary>
/// 查询返回dataset
/// </summary>
/// <param name="commandText">执行的语句</param>
/// <param name="type">执行语句类型</param>
/// <param name="paras">参数</param>
/// <returns></returns>
public DataSet ExecuteDataset(string commandText, CommandType type, params OracleParameter[] paras)
{ using (OracleConnection con = new OracleConnection(connectionString))
{
con.Open();
OracleCommand cmd = new OracleCommand(commandText, con);
cmd.CommandType = type;
if (paras != null)
cmd.Parameters.AddRange(paras); OracleDataAdapter oda = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
oda.Fill(ds);
return ds;
}
} #endregion

C# 通过Devart连接Oracle(不需要客户端)的更多相关文章

  1. unidac连接ORACLE免装客户端驱动

      当你选择Oracle作数据库服务器时,客户端一般需要装一个肥硕的200M左右客户端,而且还要做连接配置,尤其是C/S模式,客户端多的时候非常不便.当然,网上也有一个10M左右的Oracle精简客户 ...

  2. C# 连接Oracle ,免安装客户端

    在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...

  3. asp.net连接oracle的问题及方法总结

    .net连oracle数据库的两个方法介绍1. 安装oracle客户端,连接oracle 需要在客户端%oracle_client_home%network/admin/配置tnsnames.ora, ...

  4. 使用C#连接ORACLE数据库

    一.使用OracleClient组件连接Oracle   .Net框架的System.Data.OracleClient.dll组件(ADO.Net组件),为连接和使用Oracle数据库提供了很大的方 ...

  5. 不安装oracle客户端,用plsql连接oracle

    常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...

  6. Oracle 11g RAC客户端使用SCAN IP无法连接问题

    Oracle 版本:11.2.0.1.0 客户端:Windows Server 2003/PLSQL Developer Oracle服务器端的ip设置如下: ##公网ip 192.168.135.2 ...

  7. 通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库

    通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库. 首先下载安装包在Oralce官方网站上下载Oracle Instantclient Basic package.地址如 ...

  8. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  9. .net远程连接oracle数据库不用安装oracle客户端的方法

    .net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...

随机推荐

  1. c/c++性能优化--- cache优化的一点杂谈

    之前写了一篇关于c/c++优化的一点建议,被各种拍砖和吐槽,有赞成的有反对的,还有中立的,网友对那篇博客的的评论和吐槽,我一个都没有删掉,包括一些具有攻击性的言论.笔者有幸阅读过IBM某个项目的框架代 ...

  2. HDU2594——Simpsons’ Hidden Talents

    Problem Description Homer: Marge, I just figured out a way to discover some of the talents we weren’ ...

  3. QImage 与 cv::Mat 之间的相互转换

    近期做图像处理方面的项目比較多,非常多算法自己从头写的话太浪费时间,并且自己写的也不一定完好,早就听说OpenCV在图像处理算法方面功能非常强大,一直没时间学习,这次正好项目用到了.暂时抱佛脚学习些O ...

  4. c# 读取IntPtr 中的数据

    c++的写法是这样的:LRESULT CPictureQueryDlg::OnQueryPicNty(WPARAM wp, LPARAM lp){EnableWindow(TRUE); BYTE *p ...

  5. hdu1281棋盘游戏

    Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只 ...

  6. pythonj基础之 多线程

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  7. python基础之python中if __name__ == '__main__': 的解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...

  8. 图的深度优先遍历(DFS) c++ 非递归实现

    深搜算法对于程序员来讲是必会的基础,不仅要会,更要熟练.ACM竞赛中,深搜也牢牢占据着很重要的一部分.本文用显式栈(非递归)实现了图的深度优先遍历,希望大家可以相互学习. 栈实现的基本思路是将一个节点 ...

  9. Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

    这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加) <style type="text/css"> /*展示图片切换的div样式*/ #Sho ...

  10. 存储、读取——Android应用程序内置的文件夹

    1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...