How to run 32-bit UDL file on a 64-bit Operating System

Once we create an UDL File and run it on 64 Bit OS, it will list down all the 64 bit OLE DB providers installed on the machine.

The reason behind for this is simple. When you double click on a UDL file on a 64 bit machine, it’ll enumerate only the 64 bit OLE DB Providers and if we have the 32 bit Ole DB providers installed, we will not be able to find that in the enumerated list.

Create a udl file with the name test.udl under the path, C:\. 

When we have created a UDL file on a 64 bit machine and try to open it,  the following 

“C:\Program Files\Common Files\System\Ole DB\oledb32.dll”,OpenDSLFile  C:\test.udl

Command will be called through C:\windows\system32\rundll32.exe.

Here both Oledb32.dll and rundll32.exe are 64 bit and will not enumerate the 32bit Dlls.


Then how to run the UDL which lists down the 32bit Dlls? 

We can find the 32bit version of Oledb32.dll under the path: C:\Program Files (x86)\Common Files\System\Ole DB

and 32 bit version of rundll32.exe under the path: C:\WINDOWS\SysWOW64.


We’ll need to  execute the command below from a command line or Start/Run :

C:\Windows\syswow64\rundll32.exe “C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll”,OpenDSLFile C:\test.udl

Check the paths of rundll32.exe and oledb32.dll while running this command! 

Here you have your 32 bit OLE DB Providers.




Comments (21)

  1. Rick/Ben says:

    Thank you very much for providing us with this information..

  2. johnson says:

    Thanks for your Valuable information

  3. RuneetV says:

    Another way to do something similar.

    Start->Run-> Type..

    c:windowssyswow64cmd.exe C:test.udl

  4. Rodrigo Silva says:

    Chaitanya MUITO OBRIGADO…



    Rodrigo From Brasil At São Paulo

  5. Nancy says:

    Yes, this works, but when I run my website which will use the provider, it still has error.  How to make this commond which to run the oledb32.dll for 32bits machine valid forever?  I already enabled 32-bits applications for my website.

  6. Michael Sakellis says:

    How can i use that into my VBA code running in Access2007 32bit in win200864bit . I'm trying to connect to oracle. I have created the udl file and connection is ok with your solution. But what i have to do in my vba code?

  7. Michael says:

    I have Access2007 32bit running in Win2008 64bit and I'm trying to connect to oracle database. I have created udl file and I run it as you describe and connection is succesful. How can I use it in my vba code and connect to my oracle database?

  8. Prabhat M says:

    Thanks very much.  Your instructions were very helpful.  I was trying to do a RunAS and overriding the default windows authentication credentials on my computer.  That is, my computer was on VPN and I needed to try something out with the VPN domain credentials.  

    Your command provided the command to load the UDL and connect using a different set of credentials for Windows Authentication.

    The command I used was:

    C:WindowsSystem32runas.exe /user:<alternate domainusername>  /netonly c:temptestcon.bat

    testcon.bat contains the command to edit the UDL file:

    C:windowssystem32rundll32.exe "C:Program FilesCommon FilesSystemOle DBoledb32.dll",OpenDSLFile  c:tempTestConn.udl

    I had to split into a bat file since runas wasn't working when I put it all in one line.

  9. @Prabhat : Thanks for sharing your experience. This helps other users too.

  10. sithick says:

    I need some Clarification to run this command..

    1. How to activate the udl file in silent mode since when i run this command udl file gets opened.
    2. When i connect the database through program (AutoCAD Lisp Files), it's pointing 64 bit udl instead of 32 bit. How can we activate the udl file permanently..

    Please Help..

    Thanks in Advance 🙂

  11. For 64-bit machines, always launch the UDL file from the syswow64 folder to have the 32-bit udl file.

    We launch the UDL file to give the end users the flexibility to specify the database, and the connection credentials. Based on the credentials selected they can test the connection. But if you want to ignore udl file getting launched, then probably you know the credentials already, and specify the connection string.

  12. Felipe says:

    Thank you very much, you helped me a lot!

  13. Christy says:

    Hi, I am having some MDAC issues on my new Windows 7 machine.  I am trying to use the above to verify that MDAC is working and I get the following error:  MSDASC.DLL cannot be loaded. Verify that MSDASC.DLL exists on this system and is registered.    The file is in the C:PROGRAM FILES (x86)COMMON FILESSYSTEMOLE DB  directory.   I have registered the .DLL from the SYSWOW64 subdirectory and registration is successful.    I am way over my head… does anyone have any ideas as to what could be causing this?   I assume that this is related to my original problem.

    If I execute the command on a 64 bit UDL, it works fine.

  14. Senthil says:

    Nice, it worked for me.. Thanks

  15. shivani says:

    Thanku 😀

  16. mabaunz says:

    Thank you!

  17. Teresa says:

    32 bit sql connection dll file

  18. Narayana Rao says:

    Thanks for the Help

  19. KansasJudsonGirl says:

    Thank you so much!  I hunted for hours yesterday trying to find a solution.  This worked perfectly.