C#Winfrom程序连接Oracle数据库(免安装Oracle客户端)

参考了文章:http://xuzhihong1987.blog.163.com/blog/static/267315872011426336943/

       现在说说我的做法:Winform程序如果想要连接Oracle数据库,只需要包含相关的dll库即可。如下是我包含的dll,部分dll可能不需要用到,有待测试:


没有dll的话可以到Oracle官网下载Install Client( http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载时要注意选择与你系统对应的版本。
把压缩包里面的dll文件包含到程序运行的目录下就可以了。

连接Oracle数据库参考代码如下:
引入:using System.Data.OracleClient;
(.net framwork 4能找到此引用,部分版本找不到此引用)

  string oradb = "Data Source=(DESCRIPTION="
             + "(ADDRESS=(PROTOCOL=TCP)(HOST=MyComputerName)(PORT=1521))"
             + "(CONNECT_DATA=(SERVICE_NAME=DemoDB)));"
             + "User Id=SYSTEM;Password=************;";
             
            try
            {
                OracleConnection conn = new OracleConnection(oradb);
                conn.Open();
                
                string sql = " select * from DemoOP.T_TEST "; // DemoOP是表T_TEST的user
                OracleCommand cmd = new OracleCommand(sql, conn);
                cmd.CommandType = CommandType.Text;
               
                //大容量数据,可以进行修改,使用DataSet和DataAdapter
                DataSet ds = new DataSet();
                OracleDataAdapter da = new OracleDataAdapter();
                da.SelectCommand = cmd;
                da.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0] ;

                //使用DataReader,读取数据
                OracleDataReader dr = cmd.ExecuteReader();
                while (dr.Read()) // C#
                {
                    comboBox1.Items.Add(dr["NAME"].ToString());
                }

       dr.Close();

                conn.Dispose(); //Close()也可以。
                   
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());

            }
            finally
            {

            }


连接数据库时报 尝试加载 oracle客户端库时引生BadImageFormatExceiption。如果在安装32位oracle 客户端组件时的情况下以64位模式运行,将出现问题”。

分析原因是:我的系统是Win7 64位的,Winform工程目标平台设置是X86,修改设置重新编译即可。具体设置如下:选择工程名-->属性-->生成,目标平台选为Any CPU,运行没问题,能正常连上Oracle.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值