分享

Oracle 11g 客户端配置

 魏正钦的图书馆 2014-09-22

Windows下Oracle 11G - ODAC 11.2 Release 3 安装配置

 

  1. 下载Oracle 11G客户端工具 ODAC 11.2 Release 3 (11.2.0.2.1) with Oracle Developer Tools for Visual Studio ,已包含的组件:
    - Oracle Developer Tools for Visual Studio 11.2.0.2.0
    - Oracle Data Provider for .NET 4 11.2.0.2.0   
    - Oracle Data Provider for .NET 2.0 11.2.0.2.0   
    - Oracle Providers for ASP.NET 4 11.2.0.2.0   
    - Oracle Providers for ASP.NET 2.0 11.2.0.2.0   
    - Oracle Database Extensions for .NET 4 11.2.0.2.0 -- for upgrade only   
    - Oracle Database Extensions for .NET 2.0 11.2.0.2.0 -- for upgrade only   
    - Oracle Provider for OLE DB 11.2.0.2.0   
    - Oracle Objects for OLE 11.2.0.2.0   
    - Oracle Services for Microsoft Transaction Server 11.2.0.2.0   
    - Oracle ODBC Driver 11.2.0.2.0   
    - Oracle SQL*Plus 11.2.0.2.0   
    - Oracle Instant Client 11.2.0.2.0
  2.  解压到临时文件夹,再双击setup.exe执行安装,假设安装在:D:\app\wiflish\product\11.2.0\client_1目录下,安装过程略;
  3. 设定环境变量:
    ORACLE_HOME=D:\app\wiflish\product\11.2.0\client_1
    TNS_ADMIN=D:\app\wiflish\product\11.2.0\client_1
    NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8,注:语言编码要与Oracle服务器设置的一致,可以通过 select userenv('language') from dual; 查询服务器的语言编码;
  4. 配置tnsnames.ora文件,在D:\app\wiflish\product\11.2.0\client_1\Network\Admin\目录下,新建tnsnames.ora文件,内容如下:
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = ORCL)
          (SERVER = DEDICATED)
        )
      ) 
    其中:第一个ORCL为数据库实例名;192.168.1.3为Oracle数据库服务器地址;SID = ORCL为Oracle数据库服务器中安装是的SID。
  5. 使用客户端连接工具如PLSQL Developer 连接测试,输入用户名和密码,连接成功;
  6. Oracle的Instant Client的即时客户端连接工具的配置方式类似,将配置目录修改为Instant Client的解压目录;


 



 

 
连接的测试代码如下:
    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即可。


 

 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多