Can not save excel files through stored procedure on Server 2008

C

Cahill Solutions

I have recently migrated a client from SBS 2003 with SQL 2005 to SBS 2008 and
SQL 2008.

They have some programs that are run via stored procedure using xp_cmdshell.
These programs each grab data from the database and put it into an excel
spreadsheet and save it to a directory on the server, unfortunately these
programs are now failing with the following exception:

System.Runtime.InteropServices.COMException was unhandled
Message="Exception from HRESULT: 0x800A03EC"
Source="Microsoft.Office.Interop.Excel"
ErrorCode=-2146827284
StackTrace:
at Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs(Object
Filename, Object FileFormat, Object Password, Object WriteResPassword, Object
ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode,
Object ConflictResolution, Object AddToMru, Object TextCodepage, Object
TextVisualLayout, Object Local)
at MailExceptions.Program.Main(String[] args)
InnerException:

If the program is run manually, that is double clicking on the icon, it runs
perfectly.

I have tried removing UAC in Server 2008, changing permissions on the
directory where the excel file is created, where the program is run, etc...

I was advised to ask in this community for help by the folks in the SBSC
managed newsgroups.

Any ideas on a setting within SQL, or the code, to allow this to run would
be much appreciated.

I don't think the problem is with SQL 2008, as I have installed SQL 2005
both 32 and 64 bit and the same problem persists with all versions.
 
M

MeistersingerVonNurnberg

Hi -

XL version would be helpful.

your xp_cmdshell calls are likely translating / casting whatever you are
passing in a "new" way not understood by your existing (and presumably
unchanged) XL app.

check version compatibility for the call in question between ss08 and what
xl you use.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top