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?
Related
I currently have a few users setup to use my Add-In via sideloading from a network share. Today I made some changes to a JS file and tested with a user to see if their computer/Add-In updated and it did not.
First I tried just running the Add-In, that didn't work
Then I tried hitting "refresh" --> "Add" to "re-install" Add-In but that didn't work.
I had to completely wipe the users installation and start from scratch, that worked.
I figured this was something I could set/adjust in my nginx webserver so I set out to read/test but during my testing, I noted in dev tools that it was in fact getting 200 response and fetching updated files when they were updated on the nginx server.
This tells me that somehow Excel itself is caching the files outside of the browsers awareness or something and I'm at a loss what to do.
I will NOT change my file names for each deployment as that is no good for git and I prefer having the same file names.
Is there some other way I can ensure/push users Excel to fetch updated code?
Note: Users are 100% Windows Clients w/ Office 365
Update:
I need a server side solution, I don't have the ability to run a script on end users computer to clear the cache/re-install with each update
there are few ways you can get the job done
you can cache-control headers for your JavaScript files to
"no-cache" or "no-store". and it should fetch them from the server every
time. You can do this by adding the following lines to your nginx
configuration file:
location ~ .js$ {
add_header Cache-Control "no-cache";
}
Use versioned file names for your JavaScript files. This will force
the client's browser to fetch the updated files, because they will
have a different file name than the ones that are cached. For
example, you can use a version number or a timestamp in the file
name, like "script-v1.js" or "script-2022-01-01.js".
Use service worker
Use a different mechanism for updating the Add-Ins, such as
Microsoft's Office Add-In Deployment API or the Office 365
Management APIs
We have a process which needs to work with a series of Excel (sigh) files.
The setup is:
SQL agent job run as a SSIS proxy account.
Calls SSIS package on a share on the server.
Which then starts accessing these excel files using the ACE driver.
The process will work under my credentials.
The process will work under other people's credentials.
The process will work in debug mode (although this is not a fair test
as that would use my local machine's driver)
The process will not work using the SSIS proxy account.
The process WILL work if I make the SSIS proxy account an
administrator on the server.
I have ruled out the following:
access to the files share. The account can load text files from
there.
32bit/64bit issues. The account CAN run given sufficient
permissions.
My opinion is that the service account needs some sort of level of permission to be able to use the driver. I can't work out what though.
I have tried LOCAL SECURITY POLICY option "Load and unload device drivers" with no success. ( I did think this had done it, but then realised that I had left the account in the admin group :-( )
Finally, the error message in question:
SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
The AcquireConnection method call to the connection manager
"TPR_ReadReportsExcelConnection" failed with error code 0xC0202009.
There may be error messages posted before this with more information
on why the AcquireConnection method call failed.
This seems to be beyond the supported scope depending on how you've set up your SSIS proxy account. See Additional Information section here. Not enough points to post an image so here is the important sentence:
provided the SSIS jobs run in the context of a logged-on user with a valid HKEY_CURRENT_USER registry hive
When I select from the Ribbon Get External Data -> From SQL Server I get the following Assertion Failed dialog from EXCEL:
I have tried this with an Admin account, and after logging off and on, with the same results. If I select -> From Analysis Services I don't get the dialog.
f I choose Ignore I get a dialog to specify connection details but it always fails, reporting an inability to locate the server, even though in SSMS and through TFS I can connect to the server without issues. The DB server is my local machine, though a Named Instance.
(Yes, I have very carefully checked that the server name is correctly specified.)
Has anyone seen this before and can assist in diagnosing the issue?
Update:
The error dialog occurs immediately on clicking on From SQL Server.
If I opt to Retry from the dialog, I get the standard Microsoft Excel has stopped working, would you like to check online for a solution etc. dialog. If I attempt to debug the code I am informed that Source is not available, although symbols appear to be successfully downloaded form the Microsoft Symbol Server.
I'm writting a script that sets up a lot of different applications in Windows (mainly svn and open source servers for http, dns, mail, ftp and db). This script is intended to be executed in new/clean Windows workstations for new developers, it automatically sets everything up to create an environment very similar to the one in production. After it's executed, everything runs locally and the developer can start working right away.
This not only helps new developers, but all existing developers whenever there are changes in the whole system, everything is replicated locally.
The one thing I'm still not able to do is making some kind of backup of an IIS server that is running a web app (it's in the Prod server) and restoring it automatically to the new developer's machine so he doesn't have to install/configure IIS locally.
I've read about using appcmd.exe to create and restore backups, but that works only for the same machine (it uses encryption keys and those keys change between computers).
Is there a way, a scriptable way, to take everything IIS related from one server and restore it on another server, without user intervention and having the restored IIS run exactly as the original?
Thanks in advance!
Francisco
Just putting this here so anyone who comes across this will have an understanding as to why this wasn't answered. A website has a massive amount of variables associated with it that prevents any easy methods to copy all of its configuration through one or even just a few cmdlets.
To get started though you would want to become very familiar with the applicationHost.config file and how you access the properties within it using the Get-WebConfigurationProperty. One way to get familiar with how to script against webconfiguration properties is to use the Configuration Editor in IIS. Whenever you make a change in the Configuration Editor, before commiting the changes there is a nifty little link titled Generate Script, which will have a Powershell tab you can use to help you gather the proper Get/Set commands for the configuration elements within the applicationHost.config file.
I've created something almost exactly like what the OP is looking for and it spans 4 modules (over 20,000 lines of code) and has a SQL backend that holds all of the configuration elements.
When a website has everything from underlying DLLs that may need registered, IsapiCGI Restrictions and IsapiFilters, accounts that are tied to the AppPool that may need added to certain local groups on the server, to secure bindings that require a certificate to be loaded on the server. You can see that this isn't a simple undertaking. (and these are just a small portion of the variables that a website may contain)
There is however a large chunk of cmdlets that Microsoft provides you out of the box that you can leverage to aid you in developing something like this inside the WebAdministration module. I know this is four years old but hope anyone who stumbled on this will find the above useful.
we have a web service hosted on iis 6.0, it open a specify excel template file. And a macro "t.xla" should retrieve data from database after excel opened, ready for client to download.
The issue is that the macro seems not run. The code is like following (i'm not in company now, so i just write pseudocode):
System.Diagnostics.ProcessStartInfo pStartInfo = new ProcessStartInfo(excelAppPath, excelTemplatePath);
//nomal window is in debug mode, createNoWindow will be used in product envirionment
pStartInfo.WindowStyle = ProcessWindowStyle.Nomal;
System.Diagnostics.Process process = new Process();
process.Start(pStartInfo);
log.Info("Excel Process was started");
when i running this code,
1)could see excel.exe was started from task manager.
2)excel.exe creates no window on the desktop, someone says it should be, because of the iis limited.
3)I'm sure that the macro "t.xla" hadn't run, because there is no log exist which should be written by macro.When i doubleclick any one of the excel template, logs will be found.
Now iis worker process is run in local SYSTEM account , and already Enable IIS Admin Service to interact with desktop. Also the directory which the template file and log file in could be written by everyone
Could anyone give me some advise? Thanks in advance.
You might want to use another account other than local system -- that way you can log in as that account and try the same thing to see if any dialogs or errors are popping up that might be preventing things from moving further along, such as macro security settings. Microsoft does not support running Excel in this manner, but that doesn't mean you can't get it work. Check out this article, it covers many more details to consider: http://support.microsoft.com/kb/257757