WIN7 下 VS2008 程序中打开 ORACLE 连接时报错
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。  SQL PLUS 可以连接上。。
程序没有问题 在XP 下正常运行试过网上说的权限问题。。ORACLE 目录 已添加 Everyone 用户所有权限
程序也添加了。。
可是还报错。。有人说:“ WIN7 下禁用了某个服务导致的。。 最好不要禁用服务。让系统默认的就好了”有谁知道具体是哪个服务的啊?

解决方案 »

  1.   

    这是我找到的,看能不能帮到你:
    1、配置tnsnames.ora。配置方法网上很多。
    2、完善环境变量配置。环境变量的配置网上也很多,这里不列举了
    3、最重要的一点,注册表加入下面键值     
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
    "LD_LIBRARY_PATH"="F:\*\bin"
    "NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"
    "TNS_ADMIN"="F:\*\bin"
    具体路径根据实际情况修改。注册表加入下面键值后,重新调试程序,顺利通过。
     来自: http://www.cnblogs.com/dashan9zj/archive/2009/07/26/1531499.html
    完成了以上几个步骤,发现我的oracle还是连接不上。
    通过一篇文章我突然意识到,是不是我的iis没有装全?于是重新安装iis,根据
    http://www.cnblogs.com/darwinux/archive/2009/11/15/1603489.html
    中显示的图片完成了iis的功能扩展。怀着激动的心情,我重新打开了vs2005并运行程序。还是不行……
    最后几乎绝望的使用管理员重新启动vs2005,然后点击调试。参考地址:
    http://www.cnblogs.com/destimarve/archive/2010/03/17/oracleTNS.html
      

  2.   

    还有这个:
    英文出错提示:Could not create an environment: OCIEnvCreate returned -1
    中文出错提示:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。解决方案一:
                   主要是将oracle主目录oracle\的读写权限赋予asp.net或者是IUSER_..和IWAM_..,重启计算机。解决二:打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】;-应用程序池【改为-MSSharePointAppPool】,刷新OK;
      

  3.   

    将oracle主目录oracle\的读写权限赋予asp.net或者是IUSER_..和IWAM_..,重启计算机
      

  4.   


    我也遭遇了这个问题。我自己写了个程序,然后通过本地的Oracle客户端去访问另一台计算机上的Oracle服务端程序,但报错是: “OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。”
    后来摸索解决方法是:1. 确认oracle客户端安装正常。可以通过客户端的sqlplus程序来连接oracle服务端确认。2. 在oracle客户端所在计算机再安装oracle服务端软件【但是不建立任何实例数据库,同时不开启任何oracle服务端服务】。3. 这一切都弄好后,重启计算机。最后再在oracle客户端所在计算机上启动自己的程序,连接另一台计算机上的oracle服务端成功。