Results 1 to 8 of 8

Thread: VB6 program generates 3706 Provider error with 64-bit Office 365

  1. #1

    Thread Starter
    New Member
    Join Date
    Oct 2019
    Posts
    6

    Unhappy VB6 program generates 3706 Provider error with 64-bit Office 365

    I have a VB6 .exe program that opens Excel files and converts them to Access database files, among other things. Everything has been working well since the late 90s, and I have been able to keep everything working through all the versions of Windows through Windows 10 and Office up through 32-bit Office 2016. The program uses ADODB and works well.

    Then, corporate IT decides to upgrade all employees to 64-bit Office 365. When the customer runs the program, "3706 - Provider cannot be found. It may not be properly installed" error pops up. I don't believe that I can debug the old VB6 app with VS 2017. I simply don't know exactly what VB6 code is causing the problem, but I think it is trying to open an Excel file because that is the first thing it does and it doesn't get past that point.

    I have read many threads in the VB6 and earlier forum that say to avoid 64-bit Office but some say that it can work. If it were a serious Provider issue, why does it work with 32-bit Office 2016 and not with 64-bit Office 2019? Customer cannot go back as they are rolling out 64-bit Office to all employees and are committed. Any suggestions on 1) How to debug this issue, or 2) Can VB6 programs that use ADODB work with 64-bit Office 365?

  2. #2
    PowerPoster Arnoutdv's Avatar
    Join Date
    Oct 2013
    Posts
    5,872

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    To debug your application you really need VB6, the .Net versions of VS won't work.

    If you don't use any Office Automation then it should work with ADODB.

  3. #3
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    What's with the disturbing trend of referring to ADO as "ADODB?" Yes, one of the ADO libraries is named ADODB, but there are several others such as ADOX, ADOR, JRO, and on and on.

    Hasn't anyone had any training? Has nobody cracked a book? Is there nobody left but copy/paste cargo culting vocational coders?


    What Provider has your program requested? Is it installed or not?

    Microsoft Access Database Engine 2016 Redistributable is the newest I see out there for ACCDB format databases. It has "Microsoft.ACE.OLEDB.12.0" in it.

  4. #4

    Thread Starter
    New Member
    Join Date
    Oct 2019
    Posts
    6

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    The customer in India has verified that they upgraded to 32-bit Office 365, NOT 64-bit. The VB6 program requests Microsoft.ACE.OLEDB.12.0. I installed both Access Redistributable 2010 and 2016 without success. I cannot exactly reproduce the problem on my corporate laptop because corporate IT will not upgrade me to 32-bit Office 365 because I don't have the 1809 version of Windows 10 among other things. BUT, the VB6 program can reproduce the exact same Provider error on my personal x64 Windows 10/x64 Office 2019 laptop. But I don't have VS2017 on my personal PC so I am not able to debug there.

    It almost looks like the upgrade to 32-bit Office 365 deleted the Provider or removed something. I converted the VB6 program to .NET a few months ago in anticipation of future problems like this, and the .NET version of the program also generates the exact same error. I am hoping to secure a laptop configured to match the India configuration and debug the .NET program with VS 2017. I still can't debug on my corporate laptop because I can't reproduce the problem.

    I read something about JITdebugging but I have not delved into as yet. Is this potentially a possibility?

  5. #5

    Thread Starter
    New Member
    Join Date
    Oct 2019
    Posts
    6

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    I have since installed VS6 on my Windows 10/Office 2019 (both x64) laptop. I have also installed MicrosoftAccessDatabaseEngine_x64.exe on my laptop as well. I opened the program and after having to add reference to Excel.exe, I am still getting the 3706 Provider error. My code is:

    cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & txtSecondDirectory
    'open the connection
    cn.Open

    txtSecondDirectory points to a valid Access database file (.accdb), and the error is on the cn.Open.

    Since the VB6 program is a 32-bit program running on a 64-bit laptop with 64-bit Office 2019, I thought I may want to install MicrosoftAccessDatabaseEngine.exe (32-bit version). I uninstalled MicrosoftAccessDatabaseEngine_x64.exe and tried to install MicrosoftAccessDatabaseEngine.exe, but I got a message saying that I can't do that because I am running 64-bit Office. So, I am between a rock and a hard place until I can get the exact laptop configuration to test.

    If there is anyone with any ideas, please let me know. Thank you.

  6. #6

    Thread Starter
    New Member
    Join Date
    Oct 2019
    Posts
    6

    Re: VB6 program generates 3706 Provider error with 32-bit Office 365

    I have since installed VS6 on my Windows 10/Office 2019 (both x64) laptop. I have also installed MicrosoftAccessDatabaseEngine_x64.exe on my laptop as well. I opened the program and after having to add reference to Excel.exe, I am still getting the 3706 Provider error. My code is:

    cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & txtSecondDirectory
    'open the connection
    cn.Open

    txtSecondDirectory points to a valid Access database file (.accdb), and the error is on the cn.Open.

    Since the VB6 program is a 32-bit program running on a 64-bit laptop with 64-bit Office 2019, I thought I may want to install MicrosoftAccessDatabaseEngine.exe (32-bit version). I uninstalled MicrosoftAccessDatabaseEngine_x64.exe and tried to install MicrosoftAccessDatabaseEngine.exe, but I got a message saying that I can't do that because I am running 64-bit Office. So, I am between a rock and a hard place until I can get the exact laptop configuration to test.

    If there is anyone with any ideas, please let me know. Thank you.

  7. #7
    PowerPoster
    Join Date
    Dec 2004
    Posts
    25,618

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    MicrosoftAccessDatabaseEngine_x64.exe and tried to install MicrosoftAccessDatabaseEngine.exe, but I got a message saying that I can't do that because I am running
    so i wonder which version you can install if no office installed?
    i do my best to test code works before i post it, but sometimes am unable to do so for some reason, and usually say so if this is the case.
    Note code snippets posted are just that and do not include error handling that is required in real world applications, but avoid On Error Resume Next

    dim all variables as required as often i have done so elsewhere in my code but only posted the relevant part

    come back and mark your original post as resolved if your problem is fixed
    pete

  8. #8

    Thread Starter
    New Member
    Join Date
    Oct 2019
    Posts
    6

    Re: VB6 program generates 3706 Provider error with 64-bit Office 365

    Problem solved. Installed Microsoft Access Database Engine Redistributable 2010 and program started working.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width