摘自:http://www.cnblogs.com/wang_yb/archive/2011/07/11/2103368.html
为了方便部署连接oracle的.net程序,oracle官方提供了一个简化版的client,即instant client。
通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点。
1. ODAC的安装
在oracle的官方网站上下载与你安装的oracle对应版本的ODAC。
下载地址:ODAC Download
下载好后解压安装,安装时不用安装全部的组件。主要安装以下组件:
2. 环境变量的设置
设置Windows的环境变量:
ORACLE_HOME :ODAC的安装目录(类似 ~\app\Administrator\product\11.1.0\client_1)
LD_LIBRARY_PATH :%ORACLE_HOME%
TNS_ADMIN : :%ORACLE_HOME%
在PATH的最前面追加::%ORACLE_HOME%;
3. 监听文件tnsnames.ora的配置
在目录%ORACLE_HOME%下新建文件tnsnames.ora,内容如下:
1
2
3
4
5
6
7
8
9
|
数据库SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主机名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库SID)
)
)
|
4. plsqldev
这样配置好后,plsqldev就可以连接上oracle数据库了
5. C#连接Oracle
C#连接oracle的示例代码如下:
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
|
OracleConnection conn =
new
OracleConnection();
try
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings[
"oradb"
].ConnectionString;
conn.Open();
string
sql =
" select id,content from test"
;
// C#
OracleCommand cmd =
new
OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
// C#
List<
string
> contents =
new
List<
string
>();
while
(dr.Read())
{
contents.Add(dr[
"content"
].ToString());
}
listBox1.ItemsSource = contents;
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Clone();
}
|
在程序app.config或者web.config中追加数据库连接的配置
1
2
3
4
5
6
|
<
connectionStrings
>
<
add
name
=
"oradb"
connectionString="Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(
PROTOCOL
=
TCP
)(
HOST
=
192
.168.1.1)(
PORT
=
1521
)))
(CONNECT_DATA=(SERVICE_NAME=****)));
User Id=***;Password=***;"/>
</
connectionStrings
>
|
还可以参考官方的文档,不过是英文的,呵呵!
Build a .NET Application on the Oracle Database with Microsoft Visual Studio 2010
安装oraclclient运行时环境
ASP.NET连接Oracle问题1:System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater 原因:NTFS权限问题,在ORACLE9I时总是遇到 解决方法: 1、以管理员的用户登录; 2、找到ORACLE_HOME文件夹(我的是C:\oracle\ora92),点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;
或者
\app\Administrator\product\11.1.0 文件夹下 client_2 点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中增加的修改权限,"应用";再去掉刚增加的权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把 权限的更改应用于该文件夹; 3、重新启动计算机,让权限设置生效(请注意,这一步很重要); 4、登录后运行asp.net应用,正常取得Oracle数据库的数据。