访问oracle

简介:

  在我们开发应用场景经常碰到需要连接Oracle数据库,这也是相当常见的一种情况。一般.Net环境连接Oracle数据库,可以通过TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端。
  场景一、很多在使用微软自带的Using System.Data.OracleClient(据说现在已经不维护的)的时候,在没有安装Oracle客户端的服务器上运行,会提示你需要安装Oracle客户端,不过在Oracle 12以后的版本都很少使用这种方法了。
  场景二、也有很多人直接调用了Oracle客户端下的Oracle.DataAccess.dll(一般在Oracle安装目录下的product\11.2.0\dbhome_1\ODP.NET\bin\2.x当中)。但是在程序运行时,碰到最多的情况可能就是,Oracle.DataAccess.Client.OracleException报错:提供程序与此版本的 Oracle 客户机不兼容(一般检查下本机的Oracle的Oracle.DataAccess.dll和你引用的Oracle.DataAccess.dll版本是不是一致的,替换相同的版本就能解决此问题)。
  下面主要介绍,不需要安装Oracle客户端,通过最新的ODP.Net方式(Oracle.ManagedDataAccess.dll)直接连接Oracle数据库。

       1.下载ODP.NET

 http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

      2.解压,引用dll

      

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

namespace ForbiddenTools
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Oracel连接测试";
            string connString = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=服务器IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = 服务器名称)));User Id=用户名;Password=密码;";
            OracleConnection conn = new OracleConnection(connString);
            conn.Open();
            if (conn.State == ConnectionState.Open)
            {
                string sql = @"select sysdate from dual";
                OracleCommand cmd = new OracleCommand(sql, conn);
                Console.WriteLine(cmd.ExecuteScalar());
                conn.Close();
            }
            Console.ReadKey();
        }
    }
}

 

猜你喜欢

转载自blog.csdn.net/wuyingyy/article/details/86478374