none
SQORA32 driver could not be loaded. System error 1114: A dynamic link library (DLL) initialization routine failed

    Question

  • I have an MS Access 2013 application that opens a connection to an Oracle database via an Oracle client. On occasion the application returns the following error when the ODBC connection is opened:

    Specified driver could not be loaded due to system error  1114: A dynamic link library (DLL) initialization routine failed. (Oracle in OraClient11g_home1, C:\oracle\product\11.2.0\client_1\SQORA32.DLL).

    This is an intermittent problem that is reproducible on several workstations (all running Windows 7 x64 with 32-bit version of Office 2013 and 32-bit Oracle client 11.2.0).

    • Many times the ODBC connection is established without a problem
    • Other times the connection can be established by closing then re-opening the application once
    • Other times closing the re-opening the application several times does not help

    The same application is being run on several workstations and not every user experience the problem at the same time. The problem may be chronic for one user whereas another user experiences no problem whatsoever.

    All of the posts I have seen concerning this issue are for a persistent problem opening a connection and not an intermittent one. I am at a loss of how to diagnose this problem and would appreciate some direction.

    Tuesday, April 21, 2015 2:37 PM

Answers

  • After discussing this issue on another forum I was able to put together a workaround. I can’t report the issue to Oracle without having some kind of "support identifier" with them and have no idea of how to report this to Microsoft.

    The workaround is based on the observation that a query that makes use of the ODBC connection never has a problem when run within the Access GUI; the connection issue occurs only when I run the query within VBA. So, I created a very simple query that selects only one field (and actually returns no record) and uses the ODBC connection – call it the ‘peek’ query. I use a form containing a control that is bound to the peek query. When my application launches I open the form, immediately minimize it (so as not bother the user) then close the form. After this, I can use the real query in VBA.

    The workaround has been in production for several months now and nobody has complained.

    Tuesday, August 18, 2015 12:32 AM

All replies

  • try to restart the server

    did you check whether that DLL exsist?

    did you upgrade your SOA Oracle

    if yes, this issue must be related to path

    https://community.oracle.com/thread/82552

    or here

    http://h30499.www3.hp.com/t5/Unified-Functional-Testing/Unable-to-connect-to-Oracle-databases-using-ADO-within-UFT-11-5/td-p/6324185#.VTcoXnkfqM8

    1.uninstalled all oracle drivers I had installed previously
    2.Rebooted my machine
    3.Downloaded the 64-bit and 32-bit Oracle 12c client install packages– look for the section near the bottom labeled Oracle Database 12c Release 1 Client (12.1.0.1.0) for Microsoft Windows (x64 and 32-bit)
    4.Installed 64-bit client first [installed to C:\oracle\product\12.1.0\client_64]
    5.Rebooted my machine [Note:  I tried installing the 32-bit version immediately afterward, but I got a weird installer error.  It worked fine after the reboot.]
    6.Installed 32-bit client [installed to C:\oracle\product\12.1.0\client_32]
    7.Rebooted again (because Windows)

    This issue supposed to be handled by Oracle, please contact them for better analysis

    • Edited by britishdhez Wednesday, April 22, 2015 4:54 AM
    Wednesday, April 22, 2015 4:54 AM
  • Hi Ross,

    This error message is Microsoft Data Link Error, this error occurs on windows when attempting to start a service or load a system driver but the DLL you loaded or one of its dependencies returned FALSE. It typically point to a system DLL file which is located in system32 and can be fixed by using the System File Checker tool. In your case, I suspect that it occurs due to a calling failure connecting to ODBC driver and it pointed to an error link C:\oracle\product\11.2.0\client_1\SQORA32.DLL which is hosted by oracle. If they are analogous, a “repair” seems to be helpful, However since we are not expert about oracle program I‘d suggest you check if C:\app\Oracle\BIN\SQORA32.DLL file exists on your machine and contact with Oracle first, I think there you can get more effective suggestion by other experts who familiar with design of Oracle database. Your understanding is highly appreciated.

    By the way, I searched for you and seems like you are not alone about this issue.

    https://community.oracle.com/thread/2301119

    https://communities.sas.com/message/118002

    http://forums.networkautomation.com/forum/messageview.cfm?catid=50&threadid=11611

    Please note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    Regards,

    D. Wu


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.


    Wednesday, April 22, 2015 9:09 AM
    Moderator
  • Thanks for all of your replies. This helps. I wasn’t sure where to post my question; since the ODBC connection is usually established without a problem this felt like a Windows issue. I will follow up with Oracle.

    The DLL certainly exists since the connection can usually be established and rebooting the workstation usually solves the issue – though sometimes not for very long. The issue also have to be common to all of my clients since every user reports this intermittent problem at one time or another.

    Cheers,

    Ross

    Wednesday, April 22, 2015 1:19 PM
  • Hi Ross,

    Glad to help and thanks for your feedback.

    As you mentioned if this DLL exists/not corrupted and the connection can usually be established, the “repair/reinstall” might not be solution.

    Please check if any patch has been released by Oracle, if not try following up with Oracle.

    Meanwhile, if you found solution by yourself or Oracle. We would appreciate it if you could share with us and we will mark it as answer. It might help a lot of users who have similar issues.

    Your understanding is highly appreciated.

    Best Regards,

    D. WU


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Friday, April 24, 2015 1:43 AM
    Moderator
  • Hi Ross,

    Thanks! Just take your time as you need.

    Best Regards,

    D. Wu


    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Monday, April 27, 2015 1:25 AM
    Moderator
  • The problem persists even after upgrading to Oracle Client 12c (12.1.0.2).

    Posting the question to the ODBC Oracle discussion group was fruitless.

    Tuesday, May 19, 2015 3:07 PM
  • Any luck about this, I have this issue with 12c too.

    Thanks,

    Anne


    SQLFriend

    Friday, August 14, 2015 12:15 AM
  • After discussing this issue on another forum I was able to put together a workaround. I can’t report the issue to Oracle without having some kind of "support identifier" with them and have no idea of how to report this to Microsoft.

    The workaround is based on the observation that a query that makes use of the ODBC connection never has a problem when run within the Access GUI; the connection issue occurs only when I run the query within VBA. So, I created a very simple query that selects only one field (and actually returns no record) and uses the ODBC connection – call it the ‘peek’ query. I use a form containing a control that is bound to the peek query. When my application launches I open the form, immediately minimize it (so as not bother the user) then close the form. After this, I can use the real query in VBA.

    The workaround has been in production for several months now and nobody has complained.

    Tuesday, August 18, 2015 12:32 AM
  • Can you post your vba script over here. Thanks in advance
    Saturday, December 12, 2015 3:41 AM
  • After stripping the code this is essentially what it boils down to:

    Dim Cn As ADODB.Connection
    Dim strConn As String
    Dim uid As String
    Dim pwd As String
    
    ' Open a connection to the Oracle view sourcing image data.
    Set Cn = New ADODB.Connection
    
    ' Set a timeout in seconds
    Cn.CommandTimeout = 10
    
    ' Get user ID
    uid = LookupDefinition("ResourceUserName")
    
    ' Get (encrypted) user password
    pwd = LookupDefinition("ResourcePassword")
          
    strConn = "DSN=" & LookupDefinition("Images_DSN") & ";" & _
              "DBQ=" & LookupDefinition("Images_DBQ") & ";"
            
    Cn.Open strConn, uid, XORDecryption(pwd)

    I originally had the following connection string which was in the application when I inherited it:

      strConn = "DSN=" & LookupDefinition("Images_DSN") & ";" & _
                "DBQ=" & LookupDefinition("Images_DSN") & ";" & _
                "DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;" & _
    '            "BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;"

    I had the same connectivity problems and so decided to simplify the string to what it is in the code snippet.

    Sunday, February 14, 2016 3:12 PM