c#连接oracle数据库

测试环境:
vs2010

Oracle11g

Windows7

 

1.      准备工作:


tnsnames.ora文件的配置(在oracle_home/NETWORK/ADMIN目录下):

# tnsnames.ora Network Configuration File:D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

 

ORACLR_CONNECTION_DATA =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

   (CONNECT_DATA =

     (SID = CLRExtProc)

     (PRESENTATION = RO)

    )

  )

 

LISTENER_ORCL =

 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

 

ORCL =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = orcl)

    )

  )

 

.注意:我是在本机测试的,如果你是客户端,将host改为服务器端的ip

 

 

C#实现代码:
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OracleClient;

 

 

namespace WindowsFormsApplication1

{

   public partial class Form1 : Form

    {

 

       string[] table;

       int i = 0;

       public Form1()

       {

           table = new string[200];

           InitializeComponent();

       }

 

       private void button1_Click(object sender, EventArgs e)

       {

           //连接串

           string ConnectionString = "Data Source=ORCL;user=scott;password=tiger";

 

           //创建一个新连接

           OracleConnection conn = new OracleConnection(ConnectionString);

 

           try

           {

                conn.Open();

                OracleCommand cmd =conn.CreateCommand();

                cmd.CommandText = "selectename from emp";

 

                //创建一个OracleDateReader对象

                OracleDataReader odr =cmd.ExecuteReader();

                while (odr.Read())

                {

 

                    table[i] = string.Format("{0}\r\n",odr.GetOracleString(0).ToString());

                   Console.WriteLine(table[i]);

                    i++;

                }

               odr.Close();

           }

           catch (Exception ee)

           {

 

                MessageBox.Show(ee.Message);

                //throw;

           }

           finally

           {

                //关闭连接

                conn.Close();

           }

       }

    }

}

这里省略掉了框架的代码,就是一个简单的框架上面有一个按钮,给按钮添加一个点击事件

 


这里的data source=orcl 这个orcl就是上面配置文件中的orcl,根据这个orcl得到相关协议,地址,以及端口号,然后连接到oracle数据库

 

注意:
连接oracle时使用的是.net框架的System.Data.OracleClient.dll组件,但是安装的vs默认使用的轻量级框架.NET Framework 4 Client Profile,省略了很多组件,包括System.Data.OracleClient.dll,所以需要将目标框架换为.NETFramework 4(在项目属性,应用程序中的目标框架选项进行切换)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值