How to connect Excel file within SSDT-Visual Studio (32-bit) on a Windows Server 64-bit? - excel

How could I read an Excel file with SSDT-Visual Studio 2019 under Windows Server 2016 64-bit ?
I see there are a lot of blogs describing similar issue but I'm still not able to solve my problem.
I would like to read an Excel file within my Visual Studio 2019 (SSDT Toolbox) under our Windows Server 2016 64-bit.
At first attempt (during the development) I got this error message "The requested OLE DB provider Microsoft.ACE.OLEDB.16.0 is not registered. If the 32-bit driver is not installed, run the package in 64-bit mode."
Ok, I understand VS 2019 is a 32-bit app so it, by default, tries to use 32-bit driver.
Through multiple tests I tried the actions below but none of them have solved the issue :
set the Run64BitRunTime as True
set the "Processor Architecture for AnyCPU Projects" as x64
It seems modifying those settings would apply only at RunTime level i.e at the compiled version of the package, not during the development.
When I use SQL Server Import and Export Data Wizard 64-bit (and save the SSIS Package) it do works BUT it does not help reaching 100% of my goal. The reason I use SSIS is to do complex ETL , not only reading an Excel file. Reading such file is only a small part of the process (otherwise SSIS would be quite underutilized)
The biggest constraints I currently have are:
As per company restrictions, we could not install 32-bit driver on that machine
I know Visual Studio 2022 would be 64-bit but unfortunately, at this time (October 2022), it does not have SSIS module yet
Could anyone help me to solve this?
Any helps or tips would be appreciated.
My environment:
Windows Server 2016 64-bit
SQL Server 2019 with SSIS module installed
Visual Studio 2019 with SSDT module installed

Related

Deploy VS2013 SSIS packages to SQL Server 2012 & edit in VS2012

I'm afraid I know the answer to this already, but I'm hoping someone can point me in a better direction. I just finished developing a large ETL project using VS2013. My dev machine has SQL Server 2012 installed, and everything works perfectly executing from within VS. However, I just went to deploy the project to another device running SQL Server 2012, and got a version error.
I thought if I could open the solution in VS2012, the packages might recompile correctly. However, I can't open them in VS2012 due to version errors again ("version can't be lower than current version" error). I'm pissed because everything worked fine in development with the VS2013/SQL2012 combo, but now suddenly it's no good?!?
Can someone please help me figure out how to get these packages downgraded to work with VS2012/SQL2012? There are only a few script tasks involved if that makes a difference. Mostly it's just basic SSIS tasks and data flows.
Thanks.
I found a workaround how you can "downgrade" your SSIS 2014 packages to SSIS 2012. I wrote it on my blog here:
http://vaniecastro.com/2015/02/26/how-to-downgrade-sql-server-integration-services-2014-packages-to-2012/
The idea is that you need to manually modify the XML file, change the PackageFormatVersion and replace ExecutableType property and componentClassID attribute values to use the DTSX2 Version 2012/01 values instead of the DTSX2 Version 2014/01 ones.
You can try using Visual Studio 2015 SSDT Preview. This now allows you to choose which version of SQL Server you want to target, including SQL Server 2012. I successfully downgraded my packages from VS 2013 / SQL Server 2014 to SQL Server 2012 this way.
https://msdn.microsoft.com/en-us/mt429383.aspx
Once the shell is installed, go to the Project menu=>Project Properties=>Configuration Properties=>TargetServerVersion and choose 2012.

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.

SQL Server Data Tool (SSDT) in Visual Studio 2012 not compatible with SQL Server 2012

I cannot create a new SQL Server Database Project on my machine that have installed Visual Studio 2012 Ultimate and SQL Server 2012
I got the below error saying that the SQL Server runtime components not matched.
Do you have the same issue? And what is the work-around for this?
You need to download the latest version of SSDT from http://msdn.microsoft.com/en-us/data/hh297027 (or by clicking the "Get the latest version" link in the error message). SSDT uses a shared component called DacFx, and when you installed SQL Server 2012 on your machine a newer version of DacFx was installed. Updating SSDT will ensure everything is compatible.
Note: Make sure you have a stable internet connection, otherwise you may have issues installing from the web installation and/or the .iso file download.
ISO file download is the problem. This is the second time I have seen the ISO image from MS website has this problem in 1 month. Some are corrupted there are no such files like ".be" prefix "." + file name. Bad file name caused everything.

Firebird NET Provider and Visual Studio 2012

I've installed Firebird NETProvider and DDEXProvider on Windows 8 Enterprise (64-bit) with Visual Studio 2012 Premium successfully: I added a connection in Server Explorer and was able to see the database-objects.
However, when I install other extensions (Web Essentials, Power Tools, Resharper) I loose my previously saved connection and I'm unable to re-create it, because the Firebird NETProvider is no longer available. The same result after installing Windows updates (KB2781514), concerning a fix for VS2012.
Re-installing the NETProvider and DDEXProvider causes problems in the VS-configuration (double entries of dataproviders, etc.).
I'm unsure in using the Firebird NETProvider in a project with legacy Firebird-database) , because it seems to be unstable in VS2012.
Hopefully someone can help me.
Many thanks in advance
Dirk Schelfaut
I had the same problems after installing VS 2012 SDK. Solution: Click the Advanced button in the installer and verify whether the correct combination of VS and OS is checked. With my installation, VS 2012 (64 bit OS) was checked, but I had W7 32 bit... You also may have to check the machine.config file. After re-installing, I had several duplicate entries for the Firebird data provider. Regards, Ulli.

SSIS 2008 and Excel Interop assemblies

Have an SSIS 2008 package that runs just fine on my local dev machine with Office 2007 installed. It has a script task with interop.excel as a reference. (I'm reformatting some excel sheets with it)
So everything works like a champ until I install and run it on my test SQL 2008 (Server 2008 64bit) server. I install to SSIS, execute it via a SQL Server Job, it runs though most of the steps but then throws an exception when it gets to the script task that needs the excel interop assembly.
I've installed the 2007 PIA and have execution marked as 32bit as well. At this point I'm just kind of lost. Any help is appreciated.
This script task - Is it a .NET script task or a 32-bit script task?
I'm guessing from the interop.excel reference, that its a .NET script task calling out to an old 32-bit library? Can you confirm?
If there is a 32-bit component that you are running on your Win64 environment then you need to be careful about what you are using to register it. By default, regsvr32 is the 64-bit version, so you need to use the regsvr32.exe under c:\windows\systemWOW64 (or something similar). This will ensure the dll is registered in the 32-bit hive of the registry, and available to the WOW (windows-on-windows) emulation environment.
SpreadsheetGear for .NET is an Excel compatible spreadsheet component for 32 bit and 64 bit .NET, and has an API which is similar to Excel's COM API.
You can see some live ASP.NET samples here and download the free trial here.
Disclaimer: I own SpreadsheetGear LLC
I installed Office 2007 on the server I was using. That fixed one problem. Then I discovered another problem that was alleviated by this SO Link

Resources