.net connect to Oracle

Through the Internet there are three main ways to learn .net connection Oracle.
(1) System.Data.OracleClient
Microsoft's System.Data.OracleClient can be referenced directly, but VS will prompt "System.Data.OracleClient.OracleConnection" obsolete.
(2) Oracle.DataAccess.Client
also called ODP.net, it is Oracle provides database access library, do not install the Oracle client, just need to find Oracle.DataAccess.dll add a reference in the oracle installation directory, but the drawback is to distinguish x86 / x64 version.
(3) Oracle.ManagedDataAccess.Client
also provides Oracle database access library, without having to install oracle client does not need to distinguish between x86 / x64 version, can be directly referenced Oracle.ManagedDataAccess.dll.

The following are examples of connection using Oracle.ManagedDataAccess.Client Oracle:
1, Oracle connection string configuration
of this example is WinForm, app.config configuration as Oracle connection string, key information: IP address, service name, user name, password .

<add key="OracleConn" value="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=user;Password=123456"/>

2, write a simple database access classes OracelHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;
using System.Data;

namespace demo
{
    public class OracelHelper
    {
        private static readonly string connectionString = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();

        public static OracleConnection GetConn()
        {
            var conn = new OracleConnection(connectionString);
            conn.Open();
            return conn;
        }

        public static int ExecuteNonQuery(string sql)
        {
            using (var conn = GetConn())
            {
                var cmd = new OracleCommand(sql, conn);
                int result = cmd.ExecuteNonQuery();
                return result;
            }
        }

        public static int ExecuteScalar(string sql)
        {
            using (var conn = GetConn())
            {
                var cmd = new OracleCommand(sql, conn);
                object o = cmd.ExecuteScalar();
                return Convert.ToInt32(o.ToString());
            }
        }


        public static OracleDataReader ExecuteReader(string sql)
        {
            var conn = GetConn();
            var cmd = new OracleCommand(sql, conn);
            var myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return myReader;
        }

        public static DataSet ExecDataSet(string sql)
        {
            using (var conn = GetConn())
            {
                var cmd = new OracleCommand(sql, conn);
                OracleDataAdapter da = new OracleDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                return ds;
            }
        }
    }
}

3, if using Dapper, you can refer to the article ".net4.0 Dapper operation using MySql", slightly modified as part of the code

(1) Dapper Package

 public class DapperHelper
    {
        public static OracleConnection OracleConnection()
        {
            string oracleConnectionStr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
            var connection = new OracleConnection(oracleConnectionStr);
            connection.Open();
            return connection;
        }       
    }

(2) carried out using Dapper select query

using (IDbConnection conn = DapperHelper.OracleConnection())
            {               
                string sqlCommandStr = @"select * from user";
                List<User> userList = conn.Query<User>(sqlCommandStr).ToList();
               //todo
            }

 

Guess you like

Origin www.cnblogs.com/gdjlc/p/10965845.html