ADO.NET连接和操作Oracle数据库

1.NET Framework数据提供程序

用于Oracle的.NET Framework数据提供程序已经被弃用,需要下载Oracle Developer Tools for Visual Studio与合适的ODAC数据访问提供程序。

1.1插件下载与安装

1)  下载地址:http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html

2)  下载后默认安装即可。


 1.2为Visual Studio安装扩展

1)        默认情况下插件安装完成后,会在当前系统的如下路径: C:\Program Files (x86)\Oracle Developer Tools for VS2017

2)        打开C:\Program Files (x86)\Oracle Developer Tools for VS2017\odt,找到Oracle.VsDevTools.15.0,运行即可。



1.3检查安装




 有两种连接方式,此处使用EZ连接,TNS不做展开。


至此证明扩展已安装成功。


2.ADO.NET连接和操作数据库

1.基本操作步骤

1)        建立数据库连接

2)        创建SQL命令

3)        执行SQL命令

4)        处理SQL命令结果

2.代码及操作

1)建控制台应用程序,并添加引用

引用类库位置:C:\Program Files (x86)\Oracle Developer Tools forVS2017\odp.net\managed\common


2)        实验代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client;//oracle数据提供程序




namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            string constr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Show)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=hometest2)));Persist Security Info=True;User ID=system;Password=123456;";
            OracleConnection con = new OracleConnection(constr);//连接到数据库
            con.Open();
            Console.WriteLine("数据库连接状态:");
            Console.WriteLine("Connection State " + con.State);
            Console.WriteLine();
            string cmdText = "select * from ADMIN ";
            //创建SQL语句
            OracleCommand cmd = new OracleCommand(cmdText, con);
            //执行语句并返回结果
            OracleDataReader dr = cmd.ExecuteReader();
            Console.WriteLine("用户\t密码");
            while (dr.Read())
            {
                Console.WriteLine("{0}\t{1}", dr[0], dr[1]);
            }
            Console.WriteLine("查询成功");
            Console.WriteLine();


            //执行一个插入操作
            OracleCommand Incmd = new OracleCommand("insert into ADMIN (NAME,PWD) values('admin2','123456')", con);
            if(Incmd.ExecuteNonQuery()==1)//执行SQL语句并返回受影响行
            {
                Console.WriteLine("插入成功");
            }
            else
            {
                Console.WriteLine("插入失败");
            }
            con.Close();




        }
    }
}

3)        实验截图




猜你喜欢

转载自blog.csdn.net/qq_40564078/article/details/80342360