C#笔记 之 Oracle.ManagedDataAccess包的安装及配置

运行环境

  • OS:windows10专业版
  • Oracle:Oracle Database 12c Enterprise Edition Release
  • C#:VisualStudio2015
  • 目标架构:.NET Framework 4
  • Oracle.ManagedDataAccess:v4.0.30319

设置解决方案属性:

设置解决方案的目标空间为.NET Framework 4。
C#笔记 之 Oracle.ManagedDataAccess包的安装及配置_第1张图片

添加Oracle.ManagedDataAccess包

选择 解决方案–引用–管理NuGat程序包–搜索Oracle.ManagedDataAccess。
注意:一定要匹配解决方案的.NET 版本号和数据库的版本号。
C#笔记 之 Oracle.ManagedDataAccess包的安装及配置_第2张图片

引用Oracle.ManagedDataAccess包

引用相关包:

using System.Configuration;
using Oracle.ManagedDataAccess.Types;
using Oracle.ManagedDataAccess.Client;

注意:引用System.Configuration是为了读取App.config配置。

修改App.config文件配置数据库

原始配置文件如下:



  
    

修改Oracle数据库链接:

    
        
            
                
            
        
    

将HOST,PORT,SERVICE_NAME按实际情况做修改即可。
如要连接:10.0.0.110:1521/test
修改如下:

    
       
           
               
           
       
   

添加用户配置
指定默认用户、密码及连接字符串“SampleDataSource”。

  
    
  

读取配置文件

private static readonly string conn_Str = ConfigurationManager.AppSettings["connectionString"];
private static OracleConnection conn_Oracle = new OracleConnection(conn_Str);

简单示例

namespace HnxhHardware
{
    class OracleHelper
    {
        // 读取数据库配置文件
        private static readonly string conn_Str = ConfigurationManager.AppSettings["connectionString"];
        private static OracleConnection conn_Oracle = new OracleConnection(conn_Str);

        // 判断连接状态
        private Boolean connectOracle()
        {
            if (conn_Oracle.State == ConnectionState.Open)
            {
                return true;
            }
            else
            {
                try
                {
                    conn_Oracle.Open();
                    return true;
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return false;
                }
            }
        }

        // 断开连接
        private Boolean disconnectOracle()
            {
                if (conn_Oracle.State == ConnectionState.Open)
                {
                    conn_Oracle.Close();
                    return true;
                }
                else
            {
                try
                {
                    conn_Oracle.Close();
                    return true;
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return false;
                }
            }
                
        }

		// 根据Account获取用户名称
        public string getUserName(string userid)
        {
            if (connectOracle())
            {
                OracleParameter para_userid = new OracleParameter("p_userid", OracleDbType.NVarchar2,200);
                para_userid.Direction = ParameterDirection.Input;
                para_userid.Value = userid;
                OracleParameter para_username = new OracleParameter("username", OracleDbType.NVarchar2,200);
                para_username.Direction = ParameterDirection.ReturnValue;

                OracleCommand comm = new OracleCommand(@"pk16_hardware.getusername", conn_Oracle);
                comm.CommandType = CommandType.StoredProcedure;
                comm.Parameters.Add(para_username);
                comm.Parameters.Add(para_userid);
                comm.ExecuteNonQuery();
                string uu = para_username.Value.ToString();
                if (uu == "null")
                {
                    return "用户不存在,请重试";
                }
                else
                {
                    return uu;
                }              
            }
            else
            {
                return "数据库打开失败";
            }
        }        
    }
}        

你可能感兴趣的:(C#笔记,oracle,c#,数据库,免客户端)