Programatically supplying credentials to DSN connection used by Power Query - excel

We have an oracle database that can be accessed with a general-purpose, read-only account. Connection information is stored as DSN.
I have created a 2016 Excel Workbook that uses Power Query and the DSN connection information. I want to be able to circulate the workbook, but when a new user opens it, the cached credentials are lost and the user would be prompted to enter the needed information.
I have suppressed application warnings during the load to avoid the annoying 'approve native query' pop-up caused by Power Query. However, this means that the credentials box, if needed, is also is not displayed. Therefore, the query runs without a password and fails.
Is there a way I can programmatically update the credentials?

This is not supported because, in general, storing credentials within the document is a security risk.
The credentials dialog does not depend on the native query dialog. It doesn't appear if you already have credentials for the data source. You can clear or edit these credentials in the Data Source settings window, which is accessible from the File menu in the Query Editor.

Related

Couldn't access persisted data in a workbook after submitting excel add-in

We are trying to create a demo version workbook which will have predefined data persisted in it. But this functionality is not available for public users we have a dev mode manifest with similar id to that of the submitted manifest. If we persist data using this dev mode manifest we couldn't access it from the Add-in available in App Source. Could anyone let me know why we couldn't access this data and is there a possibility to resolve this ?
I think you can go two ways:
Excel way: Create and use one sheet (can be hidden for user) as a data table for app, in this case when you are starting your app you just need to check the sheet existence by its unique name. This case acceptable for any workbook movements and user will not lose its persistent data.
Web way: as Addin itself is a WebView you can use LocalStorage as same as IndexedDB, which brings all power of local database for your app. In this case the data will be tied with exact PC and user will lose their data if you. But again, as it is web technology you can synchronize it with any remote Database to keep track of any changes.

Storing password in Excel Mac 2016 ODBC connections using embedded Microsoft Query

I'm bulding an Excel Mac 2016 file that uses several connections to SQL Server using the embedded Microsoft Query service. The problem is that I'm unable to store the password in the connection: every time I open the file Excel asks for the password of every connection although it is always the same (and now I have 8 connections). No checkbox or option is displayed to store the password.
I've checked every option in the menus but I've been unable to find this feature. Also, I've tried to edit the connection string and adding ";PWD=" or ";Password=" but no luck. It seems to me that the login data and the queries should be separated but they are not.
It seems there are differences between the Mac and Windows version of Excel. Maybe this is not possible with Mac. A similar post refers to a "Use Trusted Connection" option but I can't see this on Mac.
Excel - Microsoft Query - SQL Server login - "Use Trusted Connection" default setting
Thank you all in advance.
It won't let me add a comment, so I'm going to add an answer. I have Excel 2016 in Windows and there is a save password checkbox just below the connection string. I have done several microsoft queries with the embedded service and I've also setup a connection with system DSNs. Strange to me that you're missing that simple checkbox just because you're on Mac. If you have the checkbox, click it and then save the file. The next time you open it, it shouldn't ask for your password again. Sorry if this is completely useless. :-/

Determine whether a user has opened a database already

The database is not new, adding profile documents, environment variables, etc... won't help.
Here's what I need: When a user opens the database, there will be a dialogbox popping up (or not), based on the information whether it's the user's first time opening the database or not.
You have to do this yourself, using profile documents, environment variables or something else. In my opinion there is no lotus notes api support available!

MS Access 2010: get (Windows) user who blocks database

in a Windows Company network environment we have several users who access MS Access Databases via MS Excel VBA Programms.
For updating the Database we´re bound to a legacy system. For entering data we use normal Access Forms and normalized tables. The Excel VBA don´t query the normalized tables directly but use a different Access Database which containes non-normalized records. The latter is deleted (via the Kill Command) and newly created after each "session" for entering new datas in the forms.
So, if any user queries the database via an Excel Programm while the other programms wants to delete and re-create it, the deletion fails with the error 70 - access denied.
(I guess in the Excel Programms there are some bugs and not all connections are closed, that´s why a user who keeps the programm open for a long time will block the deletion for a long time - but i´m not in charge of those programms O_o ).
So, I´d like to get the windows login (or any other information) of the user who currently blocks the database when the error is thrown. Is there any way to do this??
Alternatively I´d like kick any blocking user out of the database when it´s supposed to be deleted - is there a way to set some kind of priority for the kill command??
Thanks a lot!
To find out who has a file open use PsFile with the path to the file being blocked.
In terms of your architecture, if the non-normalized records are generated by queries which are (or can be) stored in your Access database, you should consider pointing the Excel file to a query, rather than generating a whole separate file for this purpose. You use the "Get External Data" section of the "DATA" ribbon to insert refresh-able tables in your Excel workbook.

SSAS require special privileges to create/edit a named query?

I am trying to make modifications to a named query in a cube and the data source view (.dsv) won't allow me to make edits or create a new named query. It gives me a login error even though I can successfully do a test connection in the data source dialog and can login successfully with SSMS.
The error is: "Login failed for user "
If I instead use the Windows authentication I am able to do everything; however, I would like to use the SQL Server Authentication option.
Are there privileges that need to be set for this? I'm pretty sure I've tried giving this user everything from db_owner etc in my local environment and still no luck.
I was wondering if maybe SSAS requires a specific role to allow SQL Server Authentication to be used for editing/creating named queries in the data source view.
Please refer to the following steps to slove this issue:
In the SSDT development interface, double-click on your data source.
In the Data Source Desginer dialog, please click "Edit".
Please select "SqlClient Data Provider", and then use your SQL Account for the data source.
Follow this link
(https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b5f05388-42e0-4fb6-92a9-d7d3e08aa98c/ssdt-2012-named-query-problem?forum=sqlanalysisservices)

Resources