.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库

要连接Oracle需要先安装Oracle驱动ODTwithODAC121024,具体名称为ODAC with Oracle Developer Tools for Visual Studio,下载地址为https://www.oracle.com/database/technologies/dotnet-odacdev-downloads.html,

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第1张图片

 

下载后安装比较慢,安装完成后找到product\12.1.0\client_1\odp.net\bin\4路径里面的OraProvCfg.exe文件双击运行后会在环境变量自动增加Oracle驱动的路径:

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第2张图片

运行完成后会右键 此电脑(或我的电脑)-》高级系统设置-》环境变量-》找到Path:

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第3张图片

双击Path可以看到刚才运行OraProvCfg.exe新增的环境变量配置

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第4张图片

如果使用.net2.0版本则需要找到product\12.1.0\client_1\odp.net\bin\2.x路径,其他的配置同上面的4.0配置一样。

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第5张图片

安装驱动后会在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config目录的machine.config文件夹自动配置:

   


   

   

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第6张图片

还有下面部分,如果没有就需要自己手动添加:

   
     
       
 
   

   
     
       

     

   

   
     
       
       
     

   

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第7张图片

 

找到product\12.1.0\client_1\odp.net\bin\4目录下的Oracle.DataAccess.dll文件复制到项目里面并且引入(.net2.0在D:\Soft\Oracle\product\12.1.0\client_1\odp.net\bin\2.x)

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第8张图片

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第9张图片

web.config的connectionStrings节点里面增加Oracle数据的连接

   


安装Oracle驱动后如果获取数据提示报错:未将对象引入到实例的解决办法:
oracle驱动的安装路径product\12.1.0\client_1中找到oraons.dll文件,然后复制到product\12.1.0\client_1\bin目录中即可。

 

            using (OracleConnection conn = new OracleConnection(System.Configuration.ConfigurationManager.AppSettings["OracleDB"]))
            {
                conn.Open();
                string sql = "select * from  库.表";

                using (OracleCommand comm = new OracleCommand(sql, conn))
                {

                    using (OracleDataReader rdr = comm.ExecuteReader())
                    {

                        while (rdr.Read())
                        {
                            Console.WriteLine("UserName:" + rdr.GetString(0) + ",UserId:" + rdr.GetInt32(1) + ",点数:" + rdr.GetInt32(2) + "," + rdr.GetDateTime(3));

                        }

                    }

                }

            }

.net使用Oracle驱动Oracle.DataAccess.Client.dll连接Oracle数据库_第10张图片

 

你可能感兴趣的:(数据库,.net,Oracle)