Monday, March 19, 2012
Exchange Linked Server
Exchange on an SBS 03 box)
The linked server shows the correct tables in the Exchange public folders.
The query is;
CREATE VIEW dbo.vw_Exchange_Contacts
AS
SELECT CONVERT(nvarchar(50), [DAV:id]) AS DAVUID, CONVERT(nvarchar(50),
[urn:schemas:Customers:title]) AS Title, CONVERT(nvarchar(50),
[urn:schemas:Customers:sn]) AS Surname,
CONVERT(nvarchar(50), [urn:schemas:Customers:o]) AS Company,
CONVERT(nvarchar(50),
[urn:schemas:Customers:mailingstreet]) AS
Mailing_Street, CONVERT(nvarchar(25), [urn:schemas:Customers:mailingstate])
AS Mailing_State,
CONVERT(nvarchar(25),
[urn:schemas:Customers:mailingpostalcode]) AS Mailing_Postal_Code,
CONVERT(nvarchar(50),
[urn:schemas:Customers:mailingpostaladdress]) AS
Mailing_Postal_Address, CONVERT(nvarchar(50),
[urn:schemas:Customers:mailingcity])
AS Mailing_City, CONVERT(nvarchar(50),
[urn:schemas:Customers:fileas]) AS FileAS, CONVERT(nvarchar(50),
[urn:schemas:Customers:telephoneNumber]) AS Tel,
CONVERT(nvarchar(50), [urn:schemas:Customers:givenName]) AS FirstName
FROM OPENQUERY(Exchange,
'SELECT
"DAV:id","urn:schemas:Customers:title","urn:schema s:Customers:sn","urn:schemas:Customers:o","urn:sch emas:Customers:mailingstreet","urn:schemas:Custome rs:mailingstate","urn:schemas:Customers:mailingpos talcode","urn:schemas:Customers:mailingpostaladdre ss","
urn:schemas:Customers:mailingcity","urn:schemas:Cu stomers:fileas"
,"urn:schemas:Customers:telephoneNumber" ,"urn:schemas:Customers:givenName"
FROM "http://vj-sbs/public/Customers"')
Rowset_2
The problem is that the only field that is returned correctly is the DAV:ID
field; the rest are returned as NULL.
I've run the same sort of view on another SBS 2000 box correctly.
Any thoughts?
I should have added that if there is a better way to achieve the same thing,
i.e. bringing in the contacts from an exchange public folder then I'd also
love to hear about it.
Thanks in advance,
Mike
OnSite Applications.
"Mike" <yada@.yada.com> wrote in message news:42bf610c$1@.quokka.wn.com.au...
> I'm trying to run a view that calls a table in a linked server (linked to
> Exchange on an SBS 03 box)
> The linked server shows the correct tables in the Exchange public folders.
> The query is;
> CREATE VIEW dbo.vw_Exchange_Contacts
> AS
> SELECT CONVERT(nvarchar(50), [DAV:id]) AS DAVUID,
> CONVERT(nvarchar(50), [urn:schemas:Customers:title]) AS Title,
> CONVERT(nvarchar(50),
> [urn:schemas:Customers:sn]) AS Surname,
> CONVERT(nvarchar(50), [urn:schemas:Customers:o]) AS Company,
> CONVERT(nvarchar(50),
> [urn:schemas:Customers:mailingstreet]) AS
> Mailing_Street, CONVERT(nvarchar(25),
> [urn:schemas:Customers:mailingstate]) AS Mailing_State,
> CONVERT(nvarchar(25),
> [urn:schemas:Customers:mailingpostalcode]) AS Mailing_Postal_Code,
> CONVERT(nvarchar(50),
> [urn:schemas:Customers:mailingpostaladdress]) AS
> Mailing_Postal_Address, CONVERT(nvarchar(50),
> [urn:schemas:Customers:mailingcity])
> AS Mailing_City, CONVERT(nvarchar(50),
> [urn:schemas:Customers:fileas]) AS FileAS, CONVERT(nvarchar(50),
> [urn:schemas:Customers:telephoneNumber]) AS Tel,
> CONVERT(nvarchar(50), [urn:schemas:Customers:givenName]) AS FirstName
> FROM OPENQUERY(Exchange,
> 'SELECT
> "DAV:id","urn:schemas:Customers:title","urn:schema s:Customers:sn","urn:schemas:Customers:o","urn:sch emas:Customers:mailingstreet","urn:schemas:Custome rs:mailingstate","urn:schemas:Customers:mailingpos talcode","urn:schemas:Customers:mailingpostaladdre ss"
,"urn:schemas:Customers:mailingcity","urn:schemas: Customers:fileas"
> ,"urn:schemas:Customers:telephoneNumber"
> ,"urn:schemas:Customers:givenName" FROM "http://vj-sbs/public/Customers"')
> Rowset_2
> The problem is that the only field that is returned correctly is the
> DAV:ID field; the rest are returned as NULL.
> I've run the same sort of view on another SBS 2000 box correctly.
> Any thoughts?
>
Exchange Linked Server
Exchange on an SBS 03 box)
The linked server shows the correct tables in the Exchange public folders.
The query is;
CREATE VIEW dbo.vw_Exchange_Contacts
AS
SELECT CONVERT(nvarchar(50), [DAV:id]) AS DAVUID, CONVERT(nvarchar(5
0),
[urn:schemas:Customers:title]) AS Title, CONVERT(nvarchar(50),
[urn:schemas:Customers:sn]) AS Surname,
CONVERT(nvarchar(50), [urn:schemas:Customers:o]) AS Company,
CONVERT(nvarchar(50),
& #91;urn:schemas:Customers:mailingstreet]
) AS
Mailing_Street, CONVERT(nvarchar(25), [urn:schemas:Customers:mailingstat
e])
AS Mailing_State,
CONVERT(nvarchar(25),
& #91;urn:schemas:Customers:mailingpostalc
ode]) AS Mailing_Postal_Code,
CONVERT(nvarchar(50),
& #91;urn:schemas:Customers:mailingpostala
ddress]) AS
Mailing_Postal_Address, CONVERT(nvarchar(50),
[urn:schemas:Customers:mailingcity])
AS Mailing_City, CONVERT(nvarchar(50),
[urn:schemas:Customers:fileas]) AS FileAS, CONVERT(nvarchar(50),
& #91;urn:schemas:Customers:telephoneNumbe
r]) AS Tel,
CONVERT(nvarchar(50), [urn:schemas:Customers:givenName]) AS FirstName
FROM OPENQUERY(Exchange,
'SELECT
"DAV:id","urn:schemas:Customers:title","urn:schemas:Customers:sn","urn:schem
as:Customers:o","urn:schemas:Customers:mailingstreet","urn:schemas:Customers
:mailingstate","urn:schemas:Customers:mailingpostalcode","urn:schemas:Custom
ers:mailingpostaladdress","
urn:schemas:Customers:mailingcity","urn:schemas:Customers:fileas"
,"urn:schemas:Customers:telephoneNumber" ,"urn:schemas:Customers:givenName"
FROM "http://vj-sbs/public/Customers"')
Rowset_2
The problem is that the only field that is returned correctly is the DAV:ID
field; the rest are returned as NULL.
I've run the same sort of view on another SBS 2000 box correctly.
Any thoughts?I should have added that if there is a better way to achieve the same thing,
i.e. bringing in the contacts from an exchange public folder then I'd also
love to hear about it.
Thanks in advance,
Mike
OnSite Applications.
"Mike" <yada@.yada.com> wrote in message news:42bf610c$1@.quokka.wn.com.au...
> I'm trying to run a view that calls a table in a linked server (linked to
> Exchange on an SBS 03 box)
> The linked server shows the correct tables in the Exchange public folders.
> The query is;
> CREATE VIEW dbo.vw_Exchange_Contacts
> AS
> SELECT CONVERT(nvarchar(50), [DAV:id]) AS DAVUID,
> CONVERT(nvarchar(50), [urn:schemas:Customers:title]) AS Title,
> CONVERT(nvarchar(50),
> [urn:schemas:Customers:sn]) AS Surname,
> CONVERT(nvarchar(50), [urn:schemas:Customers:o]) AS Company,
> CONVERT(nvarchar(50),
> & #91;urn:schemas:Customers:mailingstreet]
) AS
> Mailing_Street, CONVERT(nvarchar(25),
> & #91;urn:schemas:Customers:mailingstate])
AS Mailing_State,
> CONVERT(nvarchar(25),
> & #91;urn:schemas:Customers:mailingpostalc
ode]) AS Mailing_Postal_Code,
> CONVERT(nvarchar(50),
> & #91;urn:schemas:Customers:mailingpostala
ddress]) AS
> Mailing_Postal_Address, CONVERT(nvarchar(50),
> [urn:schemas:Customers:mailingcity])
> AS Mailing_City, CONVERT(nvarchar(50),
> [urn:schemas:Customers:fileas]) AS FileAS, CONVERT(nvarchar(50),
> & #91;urn:schemas:Customers:telephoneNumbe
r]) AS Tel,
> CONVERT(nvarchar(50), [urn:schemas:Customers:givenName]) AS FirstName
> FROM OPENQUERY(Exchange,
> 'SELECT
> "DAV:id","urn:schemas:Customers:title","urn:schemas:Customers:sn","urn:schemas:Cus
tomers:o","urn:schemas:Customers:mailingstreet","urn:schemas:Customers:mailingstate"
,"urn:schemas:Customers:mailingpostalcode"," urn:schemas:Customers:mailingpostaladdre
ss"
,"urn:schemas:Customers:mailingcity","urn:schemas:Customers:fileas"
> ,"urn:schemas:Customers:telephoneNumber"
> ,"urn:schemas:Customers:givenName" FROM "http://vj-sbs/public/Customers"')
> Rowset_2
> The problem is that the only field that is returned correctly is the
> DAV:ID field; the rest are returned as NULL.
> I've run the same sort of view on another SBS 2000 box correctly.
> Any thoughts?
>
Monday, March 12, 2012
Exchange 5.5 email problem
Windows NT box.
I am hosting 3 email domains on that box. For example lets call them
mydomain1.com, mydomain2.com and mydomain3.com.
All external emails come in and work just fine except for the mydomain3.com
emails. My internal Active Dirctory domain is mydomain3.com.
Currently my Exchange server on the NT box is pointing at the internal DNS
server that forwards requests to the outside. I was thinking my problem is
that and that I might need to have the NT box with Exchange on it use our
ISP DNS servers instead.
Any ideas? I read something about Active Directory Connector, but didn't
know if I need to look at that or how the DNS settings are set up on the
Exchange server.
Thanks...if anyone wants to email me directly...feel free!!
"CJ" <chrisj@.illicom.net> wrote:
>I have an Active Directory network with an Exchange 5.5 server running on a
>Windows NT box.
>I am hosting 3 email domains on that box. For example lets call them
>mydomain1.com, mydomain2.com and mydomain3.com.
>All external emails come in and work just fine except for the mydomain3.com
>emails. My internal Active Dirctory domain is mydomain3.com.
>Currently my Exchange server on the NT box is pointing at the internal DNS
>server that forwards requests to the outside. I was thinking my problem is
>that and that I might need to have the NT box with Exchange on it use our
>ISP DNS servers instead.
>Any ideas? I read something about Active Directory Connector, but didn't
>know if I need to look at that or how the DNS settings are set up on the
>Exchange server.
>Thanks...if anyone wants to email me directly...feel free!!
>
If your Exchange server is running without ADC then it's not AD aware
(but you'd worked that out)
The Internet Mail Service should receive mail for all three domains
and route them to wherever you need.
Can you confirm that all three domains are set to "Route Inbound"? Or
alternatively two of the domains are routed to a third domain (be it
1, 2 or 3)
Then you need to make sure that you are receiving the mails for
domain3.com in the first place. Is it a registered domain? Does it
have MX records that point to a valid A record in the ISP DNS?
If domain3 isn't valid then you're not going to get mail into it.
Check by doing an nslookup against all three domains and make sure
that they point to the same A record and that the A record matches the
IP address you want the mail delivered to.#
Mark Arnold MCSA MCSE+M MVP,
FAQ: http://www.swinc.com/resource/exchange.htm
Blog: http://www.msexchange.me.uk
|||Figured it out.. the problem ended up being i simply needed my Exchange
server to have the DNS settings for my ISP, not my internal DNS servers
"Mark Arnold [MVP]" <mark@.mvps.org> wrote in message
news:9gaif051c15fpakgru8be75a35dgaefh9p@.4ax.com... [vbcol=seagreen]
> "CJ" <chrisj@.illicom.net> wrote:
a[vbcol=seagreen]
mydomain3.com[vbcol=seagreen]
DNS[vbcol=seagreen]
is
> If your Exchange server is running without ADC then it's not AD aware
> (but you'd worked that out)
> The Internet Mail Service should receive mail for all three domains
> and route them to wherever you need.
> Can you confirm that all three domains are set to "Route Inbound"? Or
> alternatively two of the domains are routed to a third domain (be it
> 1, 2 or 3)
> Then you need to make sure that you are receiving the mails for
> domain3.com in the first place. Is it a registered domain? Does it
> have MX records that point to a valid A record in the ISP DNS?
> If domain3 isn't valid then you're not going to get mail into it.
> Check by doing an nslookup against all three domains and make sure
> that they point to the same A record and that the A record matches the
> IP address you want the mail delivered to.#
>
> Mark Arnold MCSA MCSE+M MVP,
> FAQ: http://www.swinc.com/resource/exchange.htm
> Blog: http://www.msexchange.me.uk
Excessive SQL Compilations
no ad-hoc SQL on the system, just stored procedures. In particular there
is really only 5-6 sprocs that run day and night. Still perfmon reports
something like 30-40 SQL Compilations per second (depending on the day).
I have the following questions:
1. What is causing excessive compilations?
2.How do I identify specific sprocs that cause SQL Compilations and
what can I do to alleviate the problem?
Thanks.
Have a look at these:
http://support.microsoft.com/default...;en-us;Q243586
http://www.sql-server-performance.co...recompiles.asp
Andrew J. Kelly SQL MVP
"Frank Rizzo" <none@.none.com> wrote in message
news:uYnoWe14GHA.3604@.TK2MSFTNGP03.phx.gbl...
> Hello, my sql server 2000 box is doing excessive compilations. There is
> no ad-hoc SQL on the system, just stored procedures. In particular there
> is really only 5-6 sprocs that run day and night. Still perfmon reports
> something like 30-40 SQL Compilations per second (depending on the day).
> I have the following questions:
> 1. What is causing excessive compilations?
> 2. How do I identify specific sprocs that cause SQL Compilations and what
> can I do to alleviate the problem?
> Thanks.
Excessive SQL Compilations
no ad-hoc SQL on the system, just stored procedures. In particular there
is really only 5-6 sprocs that run day and night. Still perfmon reports
something like 30-40 SQL Compilations per second (depending on the day).
I have the following questions:
1. What is causing excessive compilations?
2. How do I identify specific sprocs that cause SQL Compilations and
what can I do to alleviate the problem?
Thanks.Have a look at these:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q243586
http://www.sql-server-performance.com/rd_optimizing_sp_recompiles.asp
Andrew J. Kelly SQL MVP
"Frank Rizzo" <none@.none.com> wrote in message
news:uYnoWe14GHA.3604@.TK2MSFTNGP03.phx.gbl...
> Hello, my sql server 2000 box is doing excessive compilations. There is
> no ad-hoc SQL on the system, just stored procedures. In particular there
> is really only 5-6 sprocs that run day and night. Still perfmon reports
> something like 30-40 SQL Compilations per second (depending on the day).
> I have the following questions:
> 1. What is causing excessive compilations?
> 2. How do I identify specific sprocs that cause SQL Compilations and what
> can I do to alleviate the problem?
> Thanks.
Excessive SQL Compilations
no ad-hoc SQL on the system, just stored procedures. In particular there
is really only 5-6 sprocs that run day and night. Still perfmon reports
something like 30-40 SQL Compilations per second (depending on the day).
I have the following questions:
1. What is causing excessive compilations?
2. How do I identify specific sprocs that cause SQL Compilations and
what can I do to alleviate the problem?
Thanks.Have a look at these:
http://support.microsoft.com/defaul...b;en-us;Q243586
http://www.sql-server-performance.c..._recompiles.asp
Andrew J. Kelly SQL MVP
"Frank Rizzo" <none@.none.com> wrote in message
news:uYnoWe14GHA.3604@.TK2MSFTNGP03.phx.gbl...
> Hello, my sql server 2000 box is doing excessive compilations. There is
> no ad-hoc SQL on the system, just stored procedures. In particular there
> is really only 5-6 sprocs that run day and night. Still perfmon reports
> something like 30-40 SQL Compilations per second (depending on the day).
> I have the following questions:
> 1. What is causing excessive compilations?
> 2. How do I identify specific sprocs that cause SQL Compilations and what
> can I do to alleviate the problem?
> Thanks.
Friday, March 9, 2012
ExceptionMessageBox
I am trying to get the Exception Message Box to work in a script task in SSIS.
I am using the example from http://msdn2.microsoft.com/en-us/library/ms166340.aspx almost verbatum.
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.MessageBox
Public Sub Main()
'
' Define the message and caption to display.
Dim str As String = "Do you want to push to Production?"
Dim caption As String = "Zip Push"
Dim var As Variables
' Show the exception message box with Yes and No buttons.
Dim box As ExceptionMessageBox = New ExceptionMessageBox(str, caption)
box.DefaultButton = ExceptionMessageBoxDefaultButton.Button2
box.Symbol = ExceptionMessageBoxSymbol.Question
box.Buttons = ExceptionMessageBoxButtons.YesNo
'box.SetButtonText("Yes", "No", "Cancel")
If Windows.Forms.DialogResult.Yes = box.Show(CType(Me,Windows.Forms.IWin32Window)) Then
Dts.Variables("Production").Value = True
End If
'
Dts.TaskResult = Dts.Results.Success
End Sub
And yet all I get is the following error
Unable to cast object of type 'ScriptTask_bc7fa8cd8b3c4f4d96407f2b13927e0f.ScriptMain' to type 'System.Windows.Forms.IWin32Window'.
Has anyone gotten this to work?
BTW: I am running SQL 2005 SP2
Just use MsgBox("...")
You don't even need to reference any assembly for it.
By the way, what are you trying to do here? SSIS is supposed to be a batch-oriented process, not interactive.
-Jamie
|||MsgBox works, but it's too limited. I wanted the added functionality of ExceptionMessageBox. Besides, my question was not "How do I NOT use ExceptionMessageBox?".|||
S1monk wrote:
MsgBox works, but it's too limited. I wanted the added functionality of ExceptionMessageBox. Besides, my question was not "How do I NOT use ExceptionMessageBox?".
Was it? I've just re-read your original post and didn't see that question anywhere. All I saw was "Has anyone gotten this to work?"
I'm afraid I don't know why your code isn't working. What exactly do you want to do?
-Jamie
|||
Jamie Thomson wrote:
What exactly do you want to do?
I second this question. Also Jamie's comment about SSIS being a batch utility, not an interactive one.
|||What I would like to do is use ExceptionMessageBox to display a message and allow me to customize the buttons, which I believe you cannot do with MsgBox. The example I used is just a simplest case taken from http://msdn2.microsoft.com/en-us/library/ms166340.aspx to test the functionality. I cannot get it to run. All I get is
Unable to cast object of type 'ScriptTask_bc7fa8cd8b3c4f4d96407f2b13927e0f.ScriptMain' to type 'System.Windows.Forms.IWin32Window'.
Any help would be greatly appreciated, but comments like use something else and SSIS is a batch utility are not helpfull.
|||
S1monk wrote:
What I would like to do is use ExceptionMessageBox to display a message and allow me to customize the buttons, which I believe you cannot do with MsgBox. The example I used is just a simplest case taken from http://msdn2.microsoft.com/en-us/library/ms166340.aspx to test the functionality. I cannot get it to run. All I get is
I don't know for sure but my guess from the error message is that this simply cannot be done. The script task is not designed to be used interactively as you are attempting to do.
S1monk wrote:
Unable to cast object of type 'ScriptTask_bc7fa8cd8b3c4f4d96407f2b13927e0f.ScriptMain' to type 'System.Windows.Forms.IWin32Window'.
Any help would be greatly appreciated, but comments like use something else and SSIS is a batch utility are not helpfull.
If something isn't working then I would have thought suggesting an alternative was perfectly good advice. Likewise the advice about SSIS being a batch utility was intended to be helpful and, as I think your error message proves, this advice has been borne out to be true.
The question "What exactly are you trying to do?" was a lead-in to suggesting an alternative that WOULD work. Due to the very nature of SSIS, prompting users for input from INSIDE a package is not an appropriate thing to do - better to prompt them elsewhere and pass that information into the package so that it can act upon it dynamically.
I was trying to proffer some simple advice but obviously that advice is not appreciated hence I won't post on this thread again. I have no desire to help someone that doesn't value that help. Good luck in finding a solution to your problem.
-Jamie
|||The type you are passing to the Show method is not a window. You have to catch a handle of the top window and pass it to this method. Perhaps, even null could work but it might create a weird effects (like popping up in the backround or something similar).
|||The error is because Me is not a window, it does not implement IWin32Window, so the cast is invalid - CType(Me,Windows.Forms.IWin32Window)
You do not have a Form, because SSIS is just not aimed at being an interactive tool, which is the point others have tried to highlight.
You could get the same functionality with old MsgBox or System.Windows.Forms.MessageBox (same thing really), it supports Yes/No/Cancel if you wish.
Sorry for going so far off the question, but I thought it might help provide a solution.
|||I found a way to make it work
Option Strict On
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.MessageBox
Public Class ScriptMain
Public Sub Main()
Dim str As String = "Are you sure you want to delete file 'c:\somefile.txt'?"
Dim caption As String = "Confirm File Deletion"
Dim win As Windows.Forms.IWin32Window
' Show the exception message box with Yes and No buttons.
Dim box As ExceptionMessageBox = New ExceptionMessageBox(str, _
caption, ExceptionMessageBoxButtons.YesNo, _
ExceptionMessageBoxSymbol.Question, _
ExceptionMessageBoxDefaultButton.Button2)
If Windows.Forms.DialogResult.Yes = box.Show(win) Then
' Delete the file.
End If
Dts.TaskResult = Dts.Results.Success
End Sub
End Class
|||[Shaking head]I just don't understand why you'd want to do this. I just don't understand........ SSIS is not an interactive tool - your solution only works when debugging SSIS.
[/Shaking head]|||I don't understand why you are all so hung up on SSIS being batch or interactive. It is what it is and it works how you use it. We do a lot of data loads on one server and then push the data to different environments (Development, QA, Staging, Production). With DTS we had a seperate package for each push. It leads to a LOT of packages. My goal was to clean this up a little and make the packages a little more versatile. I don't know what flavor of SSIS you are using, but the above code works just fine in my INTERACTIVE production environment.|||
S1monk wrote:
I don't understand why you are all so hung up on SSIS being batch or interactive. It is what it is and it works how you use it. We do a lot of data loads on one server and then push the data to different environments (Development, QA, Staging, Production). With DTS we had a seperate package for each push. It leads to a LOT of packages. My goal was to clean this up a little and make the packages a little more versatile. I don't know what flavor of SSIS you are using, but the above code works just fine in my INTERACTIVE production environment.
HAHAHAHA. Yeah, okay.|||I hope we can agree then, that when developing, testing or maintaining in BIDS, dialogs can be useful.
The use of dialogs IN SSIS packages is not a good idea in general, but even so, that's not a universal truth (dialogs + SSIS = misunderstanding SSIS and its intent) .
As long as the System::InteractiveMode variable is checked in advance, dialogs are fine. SSIS provides this variable since a good amount of time is spent in development and maintenance inside of BIDS, where its nice to make changes to variables without changing package source code.
Its for this same reason ("debugging and maintenance") that many shells and language interpreters have both an interactive mode ( bash, python,ruby, and powershell come to mind ) and may be run interactively as well as non-interactively.
Friday, February 24, 2012
EXCEL XP - Need xls not MHTNL
report in quotes in the filename box (i.e.; "My Report.xls"), however, it is
default saving as an MHTML document.
Is there any way to force an .xls extension?
--
aleJust install Reporting Services SP1 and it will generate BIFF instead of
MHTML.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"ale" <ale@.discussions.microsoft.com> wrote in message
news:445A9480-F90D-44A4-96A7-18B173380F67@.microsoft.com...
> I am running EXCEL 2002 SP#. When I export to Excel it shows the name of
the
> report in quotes in the filename box (i.e.; "My Report.xls"), however, it
is
> default saving as an MHTML document.
> Is there any way to force an .xls extension?
> --
> ale