SSRS report print button missing in IE11

If you use reporting services though a report viewer control then you might be missing the print button when viewing in IE11.

SSRS_NoPrintButton

To fix this, install the latest reportwiewer.exe.

This will return the print button but annoyingly it also changes the colour scheme and toolbar layout. It’s actually a nicer colour scheme but it might not fit with your page in both size and colour.

SSRS_NoPrintButton_restored

Direct download location=

http://www.microsoft.com/en-us/download/confirmation.aspx?id=35747

or if you don’t trust links, go to http://www.microsoft.com

and search for “MICROSOFT® REPORT VIEWER 2012 RUNTIME

Posted in Developer stuff, SQL Stuff | Tagged , , , , | Leave a comment

SSRS report hangs in IE11

If your SSRS report viewer’s “Loading” popup message never goes away (the report never renders) then chances are you have a reference to an image that does not exist in your report.

SSRS_Loading

I got this because I have a report template that I use for many customers and I like to show the customer’s log with an image with expression like

=Parameters!Customer.Value & ".jpg"

Which then requires that I copy a jpeg file called customername.jpg to my reports folder. If I did not have the logo, which was common for new customers then the logo was just blank but they Microsoft released IE11 and reports without a logo failed to render at all.

I have not found a way to fix this as there is no native IfFileExists() function (reports do not have access to the file system directly).

I tried updating the report viewer control to the latest version and this fixes other issues like the print button not working properly but it does not appear to fix this missing image issue.

You could move the jpegs to another place like a database or create a CLR extension but that’s a bit of overkill for a single browser issue (that shouldn’t be your responsibility to fix).

Workaround is therefore to simply make sure the file exists

Note:

The reports render fine in other browsers with the Report Viewer control!

The reports render fine when using SSRS directly without the Report Viewer control. So this is definitely a Report Viewer issue.

Posted in Developer stuff, SQL Stuff | Tagged , , , , , | Leave a comment

SSAS / Excel 2010 – An error was encountered in the transport layer

Connecting to SQL Server Analysis Services from a remote domain / login

When connecting to SSAS from a different remote domain / login using Excel 2010 where you have set up a windows user at the SSAS server, provided adequate permissions at the SSAS server to read the cube etc. but still cannot connect from a local Excel the issue is probably on account of the different domains / logins and a lack of trust between the servers.

All of your settings are correct, its probably just the windows being over cautious.

I found two workarounds for this

  • Create a local user with the same login details. Login as that user and then connect (not ideal)
  • Connect using the runas command and include the /netonly switch

A little more info on the second method….

  1. Navigate to excel in Windows explorer (“C:\Program Files (x86)\Microsoft Office\Office14″)
  2. hold down the right shift key then right click the explorer window and choose Open command window here
  3. now paste this in to the window “runas /netonly /user:REMOTEDOMAIN\USERNAME EXCEL
  4. You will be prompted for a password. Enter it and press the ENTER key
  5. Excel will load.

You will now be able to connect to the Analysis Services on the remote machine with the same details as your excel session will be trusted.

If this has fixed your problem you might like to create a shortcut.

Simply create a standard shortcut to EXCEL and then edit the command to this

C:\Windows\System32\runas.exe /netonly /user:DOMAIN\USER "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE"

 

NOTE: This also works for other programs exhibiting the same behaviour.
The reason this works is that you are allowing the remote server to trust your connection. Obviously you will still need all of the appropriate permissions and ports open etc. so this article has assumed that you have done this already.

Posted in Developer stuff, SQL Stuff | Tagged , , , , , , | 1 Comment

The SQL Server instance specified in SSIS service configuration is not present or is not available

If you get this error when you are trying to expand the MSDB section in SSIS and your target SQL Server is clustered then this is probably because the default reference to an instance of SQL Server in the SSIS configuration file is pointing at “.” (which is the alias for local server). As the locally installed instance of sql server is only a node of a cluster and not a standalone sql server then “.” is not a valid server name.

To get a “.” server name you would have to be on the cluster, not the node machine

Simply edit the config file for SSIS and enter the name of the cluster instead.

e.g.

The file is at C:\Program Files\Microsoft SQL Server\100\DTS\Binn\MsDtsSrvr.ini.xml

and contains (by default)

<?xml version="1.0" encoding="utf-8"?>
<DtsServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<StopExecutingPackagesOnShutdown>true</StopExecutingPackagesOnShutdown>
<TopLevelFolders>
<Folder xsi:type="SqlServerFolder">
<Name>MSDB</Name>
<ServerName>.</ServerName>
</Folder>
<Folder xsi:type="FileSystemFolder">
<Name>File System</Name>
<StorePath>..\Packages</StorePath>
</Folder>
</TopLevelFolders>
</DtsServiceConfiguration>

Change the <ServerName>.</ServerName> bit, replacing . with the cluster name.

You will now have to restart the SSIS service to force it to read the new configuration file. NOTE THAT YOU DO NOT HAVE TO RESTART THE BOX OR SQL SERVER! JUST SSIS.

Note: To edit the config file you may need to use an editor in administrator mode depending on the version of windows. Open notepad (or whatever) using right click and Run as Administrator then browse for the file.
I recommend turning off the hide extensions for known types. If you want to do this then use Windows explorer, press left ALT and F then on Tools menu choose Folder options to search for this option.

Sadly the rest of the information presented by the error message is a tad misleading but it is factually correct as the SQL Server really is not found (there is no local sql server in a cluster node)…


ADDITIONAL INFORMATION:

This might occur when there is no default instance of SQL Server on the computer.

Login timeout expired
A network-related or instance-specific error has occurred while establishing a connection to SQL Server.
Server is not found or not accessible.
Check if instance name is correct and if SQL Server is configured to allow remote connections.
For more information see SQL Server Books Online.
Named Pipes Provider: Could not open a connection to SQL Server. (MsDtsSrvr)

Regards

Dave

Posted in Developer stuff, SQL Stuff | Tagged , , , , | 3 Comments

Attaching the Script debugger to process ‘[5836] iexplore.exe’ on machine ” failed. A debugger is already attached.

If you get this error message when running a c# application in Visual Studio 2010 by pressing F5 (Start Debugging) then the chances are you have multiple browsers installed and this has caused problems with the debugger.

—————————
Microsoft Visual Studio
—————————
Attaching the Script debugger to process ‘[5836] iexplore.exe’ on machine ‘machinename’ failed. A debugger is already attached.
—————————
OK
—————————

Debugging still works but you have to cancel the annoying message in Visual Studio every time.

To get rid of the error message simple close all browsers (leave VS 2010 running if you like) and then in a command window with admin privilege, simply enter the following command then continue debugging as you were before the problem started. Simple!

regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll"

Posted in Developer stuff | Leave a comment

SharePoint startup time very slow

I created a SharePoint Server installation to look after project documentation. All was well and I uploaded all of the specifications, design documents, project plans etc. The following day, when I wanted to show the site to someone important, it did not work! I refreshed the browser several times thinking (correctly) that the application pool would have recycled overnight and there would be a delay as it re-built and re-loaded but this took forever. Several minutes later it did spring in to life but by that time, the business-minded (non-technical) client had already lost interest and walked away.

I was furious – SharePoint had made me look bad and I don’t like looking bad!

Perhaps I should have checked this just before the meeting but to be honest the meeting was not planned at that time. I had been put on the spot and was looking for something to impress. What annoyed me more is that by recycling the application pool myself, I as able to repeat the error many times over. This must be a bug I thought so I went to ask Uncle Google.

Why so slow?

The answer, and how David Klein found it, is contained in the following blog post link but I shall quickly explain the bit that matters.

Basically its due to a bit of “guilty til proven innocent” attitude from Microsoft.

Microsoft check for revoked certificates every time the application pool is recycled and to do this the site references a couple of URL’s at crl.microsoft.com

In my case, a network block was preventing this so the check takes a very long time before it times out, following which, the application loads.

David’s wonderful blog post pointed out the issue and suggested that if I add the crl.microsoft.com address to the hosts file and point it locally (127.0.0.1) then this will result in an immediate revoked certificate lookup failure and massively reduce startup time.

This type of lookup redirection hack is often used to install illegal software by preventing it from registering etc. (a lot of software calls home during the install). In this case Microsoft decided to check much more often.

There may be implications to applying this workaround in some cases, such as notification of updates etc. but if it fixes the startup time then it might be worth it.

I think it’s a brilliant workaround but on account of other features that might exist now or in the future at crl.microsoft.com it may be better to schedule the recycle for out of hours time and force an immediate refresh when nobody is looking (to reload the pool)
What happened to innocent until proven guilty?
It would appear that software companies these days reverse this and everyone pays the price.

So did it have the desired effect? You bet!

Before : 2 minutes
After : 20 seconds

Now that was a good tip. Thanks David.

Posted in Developer stuff, Operating Systems, Other stuff | Tagged , , , | 2 Comments

Windows Server 2008 R2 – Full or Server Core

I did not know which to install so I looked around and found this very entertaining and yet informative blog post. I like the fact that the post is attempting to add a humorous and more interesting spin on a very boring subject.

http://www.trainsignal.com/blog/windows-server-2008-server-core-full-install

Kudos to you Brian

For a most official version head here and check out the bullet lists.

http://technet.microsoft.com/en-us/library/dd184075.aspx

Cheers

Dave

Posted in Developer stuff, Operating Systems | Tagged , , , , | Leave a comment