今天来谈下oracle的一个类库
相信很多朋友写程序多少都要链接数据库,oracle数据库在链接的时候需要用到oracle客户端的类库才能连接,这样写出来的程序使用起来非常的不方便,首先需要安装oracle的客户端,还要配置tnsname.ora文件,这样你写的程序才能连接oracle数据库。下面我就来介绍一种不需要安装oracle客户端,vs写出来的程序一样可以连接oracle数据库。下面是具体的步骤。
1.原来链接oracle的时候,使用的是system.data.oracleclient这个引用,这个引用是微软自带的oracle数据库访问类库,现在已经不再更新了,这个类库依赖oracle客户端的一些东西,所以使用的时候需要安装oracle的客户端才能连接数据库。下面我们使用oracle提供的访问类库,Oracle.ManagedDataAccess.dll这个访问类库,直接到网上下载就行了,网上的资源很多,使用的时候直接添加到引用,。
2.引用后在文件头添加Oracle.ManagedAccess.client;
3.数据库连接字符串格式如下:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=帐号;Password=密码;
4.代码片段如下
using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client;
namespace oracletest
{
class Program
{
static void Main(string[] args)
{
string constr = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=***;Password=***;";
string sql = "select * from student_tb";
using (OracleConnection conn = new OracleConnection())
{
conn.ConnectionString = constr;
conn.Open();
using (OracleCommand cmd = new OracleCommand())
{
cmd.Connection = conn;
cmd.CommandText = sql;
using (OracleDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string str = reader[1].ToString();
Console.WriteLine(str);
}
}
}
}
Console.ReadKey();
}
}
}
亲测有效!