Microsoft.ACE.OLEDB.16.0 provider is not registered on the local machine - excel

I am trying to import an Excel file (*.xlsx) into a SQL Server table using both SSIS and the "Import Data" feature inside SSMS.  However, in both instances, I am getting "The Microsoft.ACE.OLEDB.16.0 provider is not registered on the local machine (System.Data)."  
However, when I go into my Programs, I see "Microsoft Access Database Engine 2016 (English) 16.0.4519.1000" is installed, as well as "Microsoft Access Database Engine 2010 (English) 14.0.7015.1000" , or at least shows up in the Apps and Features.  What am I missing to allow me to work with *.xlsx files as as the datasource to import into SQL Server either through SSIS or SSMS? 
Please note, I understand Excel as a datasource is not ideal and there are better methods, but unfortunately, I am not in a position to make demands that they use other file formats.  The best I can do right now is ask for them to convert to *.xls format.  
One thing I need to note as well, I do not have the ability to install anything on my own due to company security policies. Everything must be done through their automated system.

Related

How to specify Excel default proxy when streaming Excel via VCS

I would like to using Excel with PowerPivot to read data from an SSRS report. When I try and access the report using atomsvc, the connection works fine, but I get the error: "The remote server returned an error: (407) Proxy Authentication Required."
Some googling showed me that I need to use a config file (Excel.exe.config) placed in the same directory as Excel.exe to tell Excel to use the defaultcredentials, my problem is that the company I'm working at uses thin clients and VCS, so Excel with Powerpivot is not present on my machine, it is instead streamed from a server on launch.
Is there any other way to specify the configuration credentials to Excel? I've tried startup switches, but there doesn't seem to be one to specify this. Perhaps there is a way to configure the streamed application on the VCS side? My alternative is to tap into the SSRS Web Service, but that would be a lot more work, and more complex for whomever supports this after me. Another option could be to add a registry entry?

LocalDB Export to Excel

I have collected a bunch of data using my locally developed website. Now I need to analyze the data, but it seems like I cannot locate the .mdf file for the LocalDB database my website uses.
Looking at the data connection, it says myusername\localdb#abunchofnonsense.mydomainname.Models.UserDBContext.dbo. And the the connection string is data source=(localdb)\v11.0; initial catalog=mydomain.models.userdbcontext; integrated security=true.
Also, I'm using ASP.NET MVC, Visual Studio 2013, and Entity Framework if it helps.
It's probably quite confusing what I'm trying to do here. I collected some data and need to run logistic regression with it. Now the question is how can I connect Excel to this LocalDB so I can export the data I have collected?
You can import your LocalDB tables and data directly into Excel by the option Get External Data > From Other Sources under the Data tab in Microsoft Excel (2013 to be precise) - as the following screenshot shows:
A bit late, but perhaps someone can use the answer as I found this thread when running into a similar problem:
The problem is, that the localdb uses a different provider than the "normal" SQL-Connection. You need to use the "SQL Server Native Client" (in your case version 11) to connect. The provider should be installed with the localdb - if not you can find it here
To use in Excel, just choose
"From Other Sources"
- "From Data Connection Wizard"
- "Other Advanced"
- Choose your provider
- Enter the rest of your connection details
(not tested, but I see no reason why it shouldn't work): For existing connections you can edit the connection string and add/change "Provider=SQLNCLI11.1" (of course considering your installed version)
Source: I had the same problem in Installshield where you have to change the provider manually, so I just tried in Excel.

import data from dynamic excel to sql server 2008 r2 using SSIS without script task

I have to import data from excel(number of columns will change every time)to sql server 2008.
I have done script task for dynamically pulling the data. but the server has ace oledb and jet oledb registry errors. So is there any other way to import data from dynamic excel using SSIS
without script task?
Depending on the version of Excel being used to generate the spreadsheets, you may be able to use the Open XML SDK 2.5 for Office libraries. You will still need a Script Task or Component (or a full-blown custom SSIS component), but you may be able to avoid the ACE and Jet engine errors.
Fixing the registry errors does seem like the easier approach, though.

Visual Studio 2012 SQL Database Project with SSDT

I'm starting to use Visual Studio 2012 with integrated SQL Server Data Tools and although I watched 2 of microsoft's video's on getting started with SQL Database Projects I'm still having trouble understanding how to work with them especially since I'm new to db development.
Some questions:
What is the difference between Importing a database or adding a reference to the database?
What is the difference between Server Explorer and SQL Server Object Explorer tabs? In one I can browse the database through localhost\SQLEXPRESS.dbname and the other goes through localdb\Projects. At what point are these synchronized?
How do I change the Target Database Name under the Project's properties?
1) Importing a data base creates a project that includes all of the databases artifacts. Adding a database as a reference allows a project to access the database. So if you have a SSDT project and a c# project that uses the db, the c# project gets the reference. You could choose to create the SSDT project by importing an existing db.
2) SQL Server Object Explorer is part of SSDT and allows you do perform online SQL development including creating new artifacts, adding data to tables, and executing scripts.
3) To change the target database name for debugging purposed (where the database goes when you build/debug) change the target connection string in the debug tab of the properties menu of the project.
I've found this link to be quite helpful.
There are many differences between SQL Server Object Explorer (SSOX) and Server Explorer. Here's a couple:
SSOX allows you to launch refactoring operations
SSOX provides a logical view of your source code in Solution Explorer
In short, SSOX targets database development whereas Server Explorer is (I think) a generic hierarchical viewer for many server types.
Regards
Jamiet

InstallShield 2012: Need to switch between sql scripts (sql server & oracle) based on property

The web applications I am installing can run against either a SQL Server or Oracle database. I need to be able to determine which database the user has (client is suggesting a property file) and then dynamically tell InstallShield whichSQL script to run, I know I can figure out how to determine which database is installed. My question is how do I configure the Feature/Component and tell InstallShield which script to use.
I don't have any Oracle servers available to me nor do I have the Oracle Instant Client. If I did, it seems I'd use a Basic MSI project included in InstallShield to build an Oracle Instant Client MSI and add it to my installer as a setup prerequisite. Kind of odd but I guess they couldn't get IBM / Oracle to play nicely.
So let's say I had all of that. I'd create a Sql connection that supported both MS and ORA SQL and build it. I'd run the installer with logging on and use the SQLLogin dialog to browse to a SQL instance and an Oracle Instance.
Then I'd look at that logfile and see if there's any evidence of the built-in InstallShield SQL custom actions setting a property that indicates the type and/or version of database server that it connected to. Hopefully something will surface because I didn't find anything in the documentation.
Once I figured that out, I'd use the property in a conditional expression so that the SQL scripts only ran on the type of database server they were intended.

Resources