Error 3706 Visual FoxPro OLE DB Provider and Excel - excel

I made an application that uses VBA in order to read Excel 2013 sheets, and save data in Visual FoxPro tables. This app runs very fine in my computer, but when I run on another computer, issues this error: “Run time error 3706 Provider cannot be found, it may not be properly installed.” I installed, uninstalled, and back to install OLE DB Provider (Microsoft OLE DB Provider for Visual FoxPro, that comes with VFP SP2) and VFP runtime files (VFP 9 SP2), but error is issued again. Why does it happen? How can I solve that?
Both computers uses Microsoft Windows 7 Professional SP1 64 bits and Microsoft Office 2013 Professional 32 Bits.
Thanks in advance for your help.

Instead of using VBA and VFPOLEDB, simply use VFP and Microsoft.ACE.Oledb driver to read excel tables. You can check:
importing exporting excel files sample

Related

Is it actually possible to create SSIS packages in a 64-bit environment that use Excel 2007 sources and destinations?

Windows 10 Pro 64-bit (Version 1903)
Sql Server 2019.
VS 2010.
MS Office 2016 64-bit.
Moving a legacy SSIS package from an older 64-bit environment.
Unable to create an Excel Source or Destination in VS. When attempting Excel 2007, then VS complains that ACE.OLEDB is not registered. When attempting Excel 97, VS complains about JET. The messages have not changed either before or after installing Access Database Engine end Microsoft Access Runtime 2010. Beginning to wonder if this is supported at all.

ssis 2015 excel Could not retrieve the table information for the connection manager ‘Excel Connection Manager’

we've got a Windows Server 2012 R2 with SSIS 2015 installed, and also SAP BO BI 4.2. There is also Office 2016, and we first tried (and then uninstalled) Microsoft Office Access Redistributable 2010 32bit (which had some problems with BO), and then we successfully installed Microsoft Office Access Redistributable 2016 32bit.
Before the redistributable, the SSIS couldn't even see the Excel component in the data flow. We are accessing with some users in RD to the machine, and there is a user which is administrator.
So, the administrator made all the install/uninstall. If we open a SSIS solution with the administrator, and we open a DTSX with an Excel connection, it hangs. If we try to make a new SSIS to point to a new Excel, when we try to open the table we get "Could not retrieve the table information for the connection manager ‘Excel Connection Manager’". That also happens to some of my collegues.
What is extremely strange, is that this doesn't happen to my user. I can connect to the RD, open the SSIS solution, and all the metadata is loaded. I can create a new DTSX, point to the same Excel on the server, and I see the sheets to choose. Somehow, I guess, my user is the only one which is loading correctly the dlls for Access 2016 (if I try to set a different driver, it doesn't load).
I'll try when I get back to work to see if the suggestion here to read from SQL and see if I get the same error from the other users is always the same...but still I need to get why my user is working.
https://mariussqlbi.wordpress.com/2013/09/06/extracting-data-from-excel-with-ssis/
Any help would be appreciated...
Daniele

MS Management studio import wizard External table is not in the expected format. Excel (XLSX)

I am using the SQL managment studio to run the import wizard to get data from excel file (XlSX). I get the following error:
External table is not in the expected format. (Microsoft Office Access Database Engine)
The excel file is not password protected and it was created in office 2003 (95% sure)
I have read articles suggesting missing drivers. I have installed all the following:
Microsoft Office version Download
2016 Microsoft Access 2016 Runtime
2013 Microsoft Access 2013 Runtime
2010 Microsoft Access 2010 Runtime
2007 2007 Office System Driver: Data Connectivity Components
Nothing of these worked for me. However; if I open the excel file, click save, close it and then import it using the wizard it works.
The problem is that I would like to automate this process. So opening 200 files, save them, and then close them is not an option.
My specs:
windows 10,
Microsoft SQL Server Management Studio 12.0.4459.0
Microsoft Analysis Services Client Tools 12.0.4459.0
Microsoft Data Access Components (MDAC) 10.0.14393.0
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 9.11.14393.0
Microsoft .NET Framework 4.0.30319.42000
Operating System 6.3.14393
The only thing that I found starnge here is the following:
Microsoft MSXML 3.0 4.0 5.0 6.0.
Is this the correct value. If not, how do I update it?
This is my second day looking for a solution to this problem with no luck. If anyone could help.

Error in OleDbConnection.Open() when trying to read Excel XLSB

I'm using Visual Studio 2013 with MVC 3 Razor. I'm able to upload and save XLSB file, and I'm trying to read data from the uploaded XLSB. I have the below connection string and method to initialize the OleDbConnection:
strConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Projects\Excel1.xlsb;Extended Properties='Excel 8.0;HDR=True'";
OleDbConnection connExcel = new OleDbConnection(strConStr);
The error occur at connExcel.Open(). Below is the error message:
An exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll but was not handled in user code
Additional information: This file was created in a previous beta version of Excel 2007. Open the file with Excel 2007 to save it to the most recent version of the Excel 2007 file format before opening the file in Access 2007.
I had AccessDatabaseEngine installed in my PC. In my control panel, I have the following installed engine info:
Name: Microsoft Office Access database engine 2007 (English)
,Size: 19.2 MB
,Version: 12.0.4518.1031
I'm not sure if this is the correct version to read XLSB file. My PC is x64 bit by the way.
My colleague also have the same type of Microsoft Office Access database engine 2007 installed in his PC but his version is "12.0.66XX", the code works fine on his side.
Please let me know if I need to install another version of Access Database Engine, or any other way to resolve this error.
I'm able to resolve this after a long studies and research.
Apart of the Microsoft Office Access database engine 2007 that is already installed in my machine, I also download and install Microsoft Access Database Engine 2010 Redistributable.
After that, I need to download Microsoft Office Access Runtime and Data Connectivity 2007 Service Pack 2 (SP2) to install and then reboot my machine.
Everything work like magic afterwards.
And this is my working connection string:
strConStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Projects\Excel1.xlsb;Extended Properties='Excel 12.0;HDR=True'";

SSIS and 64bit excel

I have researched this thoroughly but I've yet to find a satisfactory answer.
I am using SQL Server Data Tools 2010 and Microsoft Office 2013 64-bit. I know that there is a compatibility problem and I am trying to solve it because I know for a fact that you can use an .xlsx file as a data source in a Data Flow.
First I tried setting Run64BitRuntime to False in Project -> Properties -> Configuration Properties - > Debugging but it didn't work
Whenever I try importing an .xlsx file I get the same error
Microsoft Visual Studio
------------------------------
Could not retrieve the table information for the connection manager
'Source Path'. Failed to connect to the source using the connection
manager 'Source Path'
------------------------------
So I tried downloading the "Microsoft Access database engine 2010" as so many suggested. The 64-bit installed successfully but the 32-bit returned the following error
You cannot install the 32-bit version of Microsoft Access database engine 2010
because you currently have 64-bit Office products installed.
Now I know I am missing a step here cause while I can see "Microsoft Access database engine 2010" in the list of installed programs in control panel it does not show up as an option in the Provider list when I am trying to create a new Connection Manager.
So before I result following the instruction on this blog I would like to ensure there is no easier way of solving the problem
Thank you in advance for you time.
If you're machine is x64, forget about Excel, as there is no driver available.
Just convert the file to CSV and use a Flat File Connector instead.
Ok, the answer was so ridiculously easy that I kind of feel ashamed for this post now.
If you are using Microsoft Office 2013 64-bit and want to work with SSIS you have to download and install the 32-bit Microsoft Access Database Engine 2010 Redistributable, not the 64-bit, set Run64BitRuntime to False and everything will work like a charm.

Resources