zoukankan      html  css  js  c++  java
  • ODP.NET Orcale使用

    安装,
    以前Oracle使用9i版本,因为公司就使用这个版本开发数据库.
    但是Win2008 不兼容只能使用oracle 11G 没这了,使用11G 吧
    但是出现了毛病 自己开发Vs2008程序的时候的使用Oracle.DataAccess.dll

    因为我使用的是11G的数据库,所以开发非常的顺利,

    底层已经开发完成都已经封装好了,剩下了一点,因为来的别的重要的任务交给同事,继续开发!

    这时候出现了错误了:

    csharp代码
    1. Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常  

    因为他的机子了装的是Oracle 9i不兼容最新的Oracle.DataAccess.dll !

    还有发布时机子基本上都是Oracle 9i的数据库,只用使用ODP.NET 来实现了,

    我认为在每次的时候都安装下ODP.NET 非常的不方便!而且有可能跟以前的程序产生兼容性问题

    最后决定使用 免安装版本的自己集成到Dll里面

    下载的是ODAC1110720Xcopy 版本 从里面提取了

    1. oci.dll  
    2. ociw32.dll   
    3. Oracle.DataAccess.dll  
    4. orannzsbb11.dll   
    5. oraocci11.dll   
    6. oraociei11.dll 
    7. OraOps11w.dll  

    7个文件 放在一个DLL文件夹了 里面Web程序使用的时候

    直接引用 Oracle.DataAccess.dll 但必须剩下的6个文件都拷贝到BIn文件夹里面 就直接能使用了

    但要注意的是 你使用ODP.NET 就不能使用 tnsnames.ora 来引用

    必须手写连接 格式如下:

    xml代码
    1. Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));  
    2. User Id=myUsername;Password=myPassword;  

    还有注意当这些都设置完成后 有可能出现这个错误!

    csharp代码
    1. ORA-12505: TNS:listener does not currently know of SID given in connect descriptor  

    这时候你必须修改注册表才成

    修改如下:  打开注册表

    HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANG

    查看 NLS_LANG 的值 是否是NA

    如果是 删除 NLS_LANG 直接重启计算机就好了

    Ok

    下载 ODP.NET

  • 相关阅读:
    大数据技术学习之Spark技术总结
    PS教程之利用像素化来制作一个乐高积木的创意海报
    Java教程之SpringMVC的请求和响应
    GCC中 -I、-L、-l 选项的作用
    给阿里云主机添加swap分区,解决问题:c++: internal compiler error: Killed (program cc1plus)
    使用 C++11 编写可复用多线程任务池
    Go语言学习-函数
    Goland安装与配置
    Go语言学习-基础知识
    VSCode配置Go插件和第三方拓展包
  • 原文地址:https://www.cnblogs.com/itelite/p/2335482.html
Copyright © 2011-2022 走看看