代码如下 | |
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数据库的数据。