ADO.NET連接和操作Oracle數據庫(c#連接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)        實驗截圖




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章