CSharp: Connecting to Oracle 11g Database in C#

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//using Oracle.DataAccess.Client;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;

namespace WinOracleDemo
{


    /// <summary>
    /// Oracle.ManagedDataAccess
    /// 4.121.2.0
    /// </summary>
    public partial class Form1 : Form
    {


        /// <summary>
        /// 
        /// </summary>
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            OracleConnection conn = null;
            try
            {
                conn = OpenConn();
                var cmd = conn.CreateCommand();
                cmd.CommandText = "select * from DEPT";
                cmd.CommandType = CommandType.Text;
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine(string.Format("No:{0},Name:{1}", reader["DEPTNO"], reader["DNAME"]));
                }
                string sql = "select * from DEPT";
               DataTable dt=OracleHelper.GetTable(sql, CommandType.Text,null);
               this.dataGridView1.DataSource = dt;  


            }
            catch (OracleException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                CloseConn(conn);
            }
            Console.Read();
        }


        static OracleConnection OpenConn()
        {

            OracleConnection conn = null;
            try
            {
                conn = new OracleConnection();
                conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=SCOTT;Password=888888;";
                conn.Open();
                
            }
            catch (OracleException ex) {

                Console.WriteLine(ex.Message);
            }
            return conn;
        }

        static void CloseConn(OracleConnection conn)
        {
            if (conn == null) { return; }
            try
            {
                if (conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
            }
            catch (OracleException e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                conn.Dispose();
            }
        }
    }
}

  

 

https://www.oracle.com/database/technologies/net-downloads.html
https://github.com/oracle/dotnet-db-samples

 

posted @ 2024-12-22 11:24  ®Geovin Du Dream Park™  阅读(27)  评论(0)    收藏  举报