Windows下Oracle 11G - ODAC 11.2 Release 3 安装配置
连接的测试代码如下:
private void button1_Click(object sender, EventArgs e)
{ string constring = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.10) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User Id=scott; Password=acbee"; OracleConnection conn = new OracleConnection(constring); conn.Open(); OracleCommand comm = new OracleCommand("select JOB from scott.emp where EMPNO=7369", conn); string job = comm.ExecuteScalar().ToString(); MessageBox.Show("获取的工作:"+job); } 问题描述:服务器端装的是Windows XP 和Oracle 10g。在服务器端能够正常的访问Oracle数据库,但远程访问该数据库(使用VS 2005,客户端同样是Oracle10g)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”。
弄了一个下午加晚上,终于找到解决的办法: 1.一定要关闭Windows 防火墙; 2.找到ORACLE_HOME文件夹(服务器端是D:\oracle)。点击右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在权限列表中把“读取和运行”的权限去掉,再按应用(据说这是Oracle的一个Bug,在9i版本中也存在);重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认 “Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹; 3.重新启动计算机,让权限设置生效(也可以不重新启动,在运行里运行cmd打开命令窗口,运行命令iisreset,重启下IIS,就可以正常访问); 4.最后客户端如果还不能访问,(我客户端用的是VS2005,用的是其内置的IIS测试代码)重新启动VS2005即可。 |
|
来自: 魏正钦的图书馆 > 《C#开发语言的学习日记》