Oracle ODBC:SQL_HANDLE_ENV 上的驱动程序的 SQLAllocHandle 失败

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/13626024/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 04:41:26  来源:igfitidea点击:

Oracle ODBC : Driver's SQLAllocHandle on SQL_HANDLE_ENV failed

oracleexcel-2007oracle9icitrix

提问by Hayk Mamikonyan

I have message Oracle ODBC : Driver's SQLAllocHandle on SQL_HANDLE_ENV failed when try to open oracle connection in excel. I'm working in virtual machine via citrix. Could you please give tips why it is appear and how avoid problem ?

我收到消息 Oracle ODBC : Driver's SQLAllocHandle on SQL_HANDLE_ENV 尝试在 Excel 中打开 oracle 连接时失败。我正在通过 citrix 在虚拟机中工作。您能否提供提示为什么会出现以及如何避免问题?

回答by sarathmojo

The problem appears to be a permission issue during the installation of both Oracle 9i and 10G.

该问题似乎是在安装 Oracle 9i 和 10G 期间的权限问题。

If you navigate Oracle home you will find that the directory has different permissions then the root of the tree. In the case of 10G the path is C:Oracleproduct10.1.0Client_1. Open the properties for the Client_X directory, and you will see that "Authenticated Users" should have Read and Execute, List Folder Contents, and Read. To fix the problem, do the following.... -Select Authenticated Users -Uncheck Read and Execute -Press Apply -Check Read and Execute -Press Apply

如果您导航 Oracle 主目录,您会发现该目录与树的根目录具有不同的权限。在 10G 的情况下,路径是 C:Oracleproduct10.1.0Client_1。打开 Client_X 目录的属性,您将看到“经过身份验证的用户”应具有读取和执行、列出文件夹内容和读取。要解决此问题,请执行以下操作.... - 选择经过身份验证的用户 - 取消选中读取和执行 - 按应用 - 选中读取和执行 - 按应用

回答by sarathmojo

One item that can cause this error is not having the ORACLE_HOME bin directory in your Windows OS path. Open a command prompt and type either PATH or SET to see if the directory is included. Adjust as required.

可能导致此错误的一项是您的 Windows 操作系统路径中没有 ORACLE_HOME bin 目录。打开命令提示符并键入 PATH 或 SET 以查看是否包含该目录。根据需要进行调整。

回答by Zaheer Nazir

Do the following to resolve the issue:

执行以下操作来解决问题:

  1. Select Administration Tools , Local Security Setting and Local Policy.
  2. Then select "User Rights Assignment"
  3. Double click on "Create Global Objects"
  4. Select Add User or Group.
  5. Make sure Object Types Group Box is checked.
  6. Select Locations and highlight the name of the server you are working on (Not the Domain).
  7. Enter "Remote Desktop Users" or "Everyone" (without the quotes) into the Object Names Box.
  8. Select OK.
  9. Add the same users to the group "Power User".
  10. If this does not work, after step 8 a reboot may be required.
  1. 选择管理工具、本地安全设置和本地策略。
  2. 然后选择“用户权限分配”
  3. 双击“创建全局对象”
  4. 选择添加用户或组。
  5. 确保选中对象类型组框。
  6. 选择位置并突出显示您正在使用的服务器的名称(不是域)。
  7. 在对象名称框中输入“远程桌面用户”或“所有人”(不带引号)。
  8. 选择确定。
  9. 将相同的用户添加到“Power User”组。
  10. 如果这不起作用,则在步骤 8 之后可能需要重新启动。