标签:
以前用Oracle的时候,必须得装他臃肿的客户端,网上虽然也有提供直连Oracle的驱动,但也是要收费的,最近Oracle终于开窍了,提供了官方的全托管驱动。
这次是随Oracle ODAC 12c 发布包中包含的oracle全托管驱动,之前Oracle已经发布了两个Beta版本的全托管驱动,但在测试中确实也发现了一些问题,这次发布的12.1.0.1.0 貌似已经是Release正式版了,经过简单的测试,上一个版本我所碰到的Bug已经被修复,目前未发现有什么新的问题,推荐大家使用。
下载地址:http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html
方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string strConn = "User Id=test;password=test;" +
"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));" +
"Pooling=false;";
using (OracleConnection con = new OracleConnection(strConn))
{
con.Open();
string strSQL = "select * from USERS order by ID";
OracleCommand cmd = new OracleCommand(strSQL, con);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
string line = "";
for (int i = 0; i < reader.FieldCount; i++)
{
line += reader.GetName(i).ToString() + "=" + reader.GetValue(i).ToString() + " ";
}
Console.WriteLine(line);
}
}
Console.ReadLine();
}
}
}
|
方法二:
修改连接字符串为
1
2
3
|
string strConn = "User Id=test;password=test;" +
"Data Source=192.168.120.1:1521/orcl;" +
"Pooling=false;";
|
这种写法比较简单,但如果有多个地址就不适用了。
方法三:
在下载的Oracle.ManagedDataAccess压缩包中,\network\admin\sample目录下有一个tnsnames.ora的文件,修改此文件配置数据库的监听信息,将该文件拷贝到应用程序根目录下。
1
2
3
|
string strConn = "User Id=test;password=test;" +
"Data Source=test;" +
"Pooling=false;";
|
ORACLE官方全托管驱动 Oracle.ManagedDataAccess 12.1.0.1.0
标签:
原文地址:http://www.cnblogs.com/tianciliangen/p/5039546.html