SQL_HANDLE_ENV protection error



The error occurred while accessing an ODC application from a "normal" Windows account.

When logging in as Administrator, everything was fine.



The solution for our problem came form the Oracle Metalink note "Unable to Connect to Database with Oracle Client Software for Windows "
Doc ID: 215255.1 Type: PROBLEM
Modified Date : 30-MAR-2009 Status: PUBLISHED

There are severla cases listed, the one that matched ours was
c) SQLSTATE: IM004
Native Error Code: 0
Driver Message: [Microsoft][ODBC Driver Manager] Driver's
SQLAllocHandle on SQL_HANDLE_ENV failed.
SOLUTION 1
  ==========

  Oracle Client software requires that you give the Authenticated User
  privilege to the Oracle Home by following these steps:

   1.  Log on to Windows as a user with Administrator privileges.

   2.  Launch Windows Explorer from the Start Menu and and navigate to the
       ORACLE_HOME folder.  This is typically...

         - the "Ora92" folder under the "Oracle" folder
           (i.e. D:\Oracle\Ora92) in Oracle9iR2

           or

         - the "Client_1" folder under the "Oracle\product\10.1.0" folder
           (i.e. D:\Oracle\product\10.1.0\Client_1) in Oracle10gR1

           or

         - the "Db_1" folder under the "Oracle\product\10.1.0" folder
           (i.e. D:\Oracle\product\10.1.0\Db_1) in Oracle10gR1

   3.  Right-click on the ORACLE_HOME folder and choose the "Properties" option
       from the drop down list.  A "Properties" window should appear.

   4.  Click on the "Security" tab of the "Properties" window.

       NOTE: If you are running Windows XP and do not have a "Security" tab
             please do the following:
 
             (a) Open "Folder Options" in your Control Panel.
             (b) Choose the "View" tab.
             (c) Under "Advanced Settings" uncheck the option "Use simple file
                 sharing (Recommended)".

             The "Security" tab should now be available.

   5.  Click on "Authenticated Users" item in the "Name" list (on Windows XP
       the "Name" list is called "Group or user names").

   6.  Uncheck the "Read and Execute" box in the "Permissions" list under the
       "Allow" column (on Windows XP the "Permissions" list is called
       "Permissions for Authenticated Users").

   7.  Re-check the "Read and Execute" box under the "Allow" column (this is
       the box you just unchecked).

   8.  Click the "Advanced" button and in the "Permission Entries" list make
       sure you see the "Authenticated Users" listed there with:

           Permission = Read & Execute
             Apply To = This folder, subfolders and files

       If this is NOT the case, edit that line and make sure the "Apply onto"
       drop-down box is set to "This folder, subfolders and files".  This
       should already be set properly but it is important that you verify this.

   9.  Click the "Ok" button until you close out all of the security properties
       windows.  The cursor may present the hour glass for a few seconds as it
       applies the permissions you just changed to all subfolders and files.

  10.  You must REBOOT YOUR COMPUTER to assure that these changes have taken
       effect.  Failure to do this can prevent this procedure from working!

  11.  Re-execute the application and it should now work.


The note describes other cases, the solution above worked for ours.

Rate this note ...
Useless Poor Average Good Very helpful