展会信息港展会大全

asp.net 连接Oracle数据库
来源:互联网   发布日期:2016-01-26 11:06:06   浏览:1649次  

导读:代码如下 connectionString=Password=czh;User ID=czh;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192 168 168 211)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_N ...

代码如下

connectionString="Password=czh;User ID=czh;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.168.211)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=skydream)));"

HOST:服务器IP或者服务器名称

SERVICE_NAME:oracle数据名称

User ID:oracle 用户名

Password:oracle用户密码

如果oracle数据库和web在同一台服务器上 可以写成

connectionString="Password=czh;User ID=czh;Data Source=skydream;"

下面我们要开始查询数据了,

准备工作:

A、安装Oracle Client。我安装的是oracle 10g。如果使用Data Source=IP地址,就必须安装客户端

1、在.net中添加引用System.Data.OracleClient

2、定义连接方式(绑定数据到GridView):string strConn= Data Source=IP地址;User ID=账号;Password=密码 ;

代码如下

OracleConnection conn=new OracleConnection(strConn); ---实例化连接

conn.open();

string strSql="select * from Table";

OracleDataAdapter da=new Oracle DataAdapter(strSql,conn);

DataTable dt=new DataTable();

da.Fill(dt);

conn.Close();

Gridview1.DataSource=dt;

Gridview1.DataBind();

绑定成功。

B、如果没有安装oracle的客户端,从一些资料查看到可以使用:

代码如下

string StrConn= Data Source=(

DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = **))

)

(CONNECT_DATA =

(SERVICE_NAME = 服务名)

)

);

user ID=账号;Password=密码; ;-----未做验证

B 、关于读取数据库的集中方式:

1.1、就是A中的实例

Update、insert更新查询oracle数据库内容*

代码如下

OracleConnection conn=new OracleConnection(strConn);

conn.open();

string strSql= update tabel1 set column1=where;

or strSql= insert into table1 values(,) ;

OracleCommand ocd=new OracleCommand(strSql,conn);

int intResult=ocd.ExecuteNonQuery();

conn.closed();

读取查询oracle数据库内容

代码如下

String strSql= select * from tblproject ;

OracleCommand cmd=new OracleCommand(strSql,conn);

OracleDataReader dr=cmd.ExecuteReader();

If(dr.Read())

{}

cmd.Dispose();

dr.Dispose();

conn.Closed();

在连接过程中我出现过一些问题,下面也分享给各位同学连接ORACLE出错

当在asp.net应用中使用数据访问的组件(调用System.Data.OracleClient)时,程序报System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater 的错误,无法创建OracleConnection。

A 当Oracle 9.2运行在NTFS的分区上时,对于某些非administrator组的用户,ORACLE_HOME 目录是不可见的,而在windows server 2003下asp.net应用使用的帐户是netword service,因此无法创建oracle连接,只要重设一下ORACLE_HOME目录的权限就可以了。

步骤如下:

1、以管理员的用户登录;

2、找到ORACLE_HOME文件夹(本人的是D:oracleora92,不要对着ORACLE文件夹修改,因为ORACLE_HOME文件夹是oracle下面的那个ora92文件夹),点右键,选属性--安全,在组或用户栏中选 Authenticated Users ,在下面权限列表中把 读取和运行 的权限去掉,再按应用;重新选上 读取和运行 权限,点击应用;选权限框下面的 高级 按钮,确认Authenticated Users 后面的应用于是 该文件夹、子文件夹及文件 ,按确定把权限的更改应用于该文件夹;

3、重新启动计算机,让权限设置生效(其实只需要重启IIS就可以);

4、登录后运行asp.net应用,正常取得Oracle数据库的数据。

赞助本站

人工智能实验室

相关热词: Oracle asp net

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港