码迷,mamicode.com
首页 > 数据库 > 详细

Oracle - C#连接数据库

时间:2018-04-13 13:16:45      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:ada   framework   use   read   区分   select   network   table   数据库访问   

一.System.Data.OracleClient 微软提供的连接库,不过已经过时,不建议使用

二.Oracle.DataAccess.Client (ODP.Net) Oracle提供的数据库访问类库.

三.Oracle.ManagedDataAccess.dll (ODP.NET Managed) 也是Oracle提供的。

推荐使用方案3,但是使用ManagedDataAccess的话,必须添加对程序集“netstandard”的引用,而这个程序集又是FrameWork 4.6及以上才有的,

所以笔者这用的.net框架FrameWork 4.5的项目并不能使用, 采用方案二来处理,方案二是需要区分x86/x64版本的.

1.去官网下载需要的dll文件。

http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html 

下载对应的vs版本的dll文件,如果vs版本太低,就下载最老的dll文件,笔者下载的最老的: ODAC 11.2 Release 5

 

将这些dll文件放到项目运行的bin目录下,和运行文件同一目录。

数据库连接语句:

  <connectionStrings>
    <add name="OracleConnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.161)(PORT=1521))(CONNECT_DATA=(SID=MyOracle)));Persist Security Info=True;User ID=system;Password=Sky312;"/>
  </connectionStrings>

C#调用

private readonly string connstr = ConfigurationManager.ConnectionStrings["OracleConnString"].ConnectionString;

string sql = "SELECT * FROM \"UserInfo\"   ";

OracleConnection connection = new OracleConnection(connstr);
connection.Open();
OracleCommand command = new OracleCommand(sql, connection);

DataTable table = null;

try
{
    OracleDataAdapter adapter = new OracleDataAdapter();
    adapter.SelectCommand = command;
    table = new DataTable();
    adapter.Fill(table);
}
catch
{
    throw;
}
finally
{
    command.Dispose();
    connection.Close();
    connection.Dispose();
}
dataGridView1.DataSource =
table;

查询

技术分享图片

 

Oracle - C#连接数据库

标签:ada   framework   use   read   区分   select   network   table   数据库访问   

原文地址:https://www.cnblogs.com/sky-gfan/p/8819569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!