Aggiornare una tabella pivot di Microsoft Excel #3

Alcuni di voi hanno segnalato un errore nell’utilizzo della stored procedure dbo.USP_DMO_Excel_Pivot_RefreshTable già durante *l'apertura* del file Excel che contiene i dati da aggiornare.

L'errore si verifica utilizzando la stored procedure in questo scenario:

  • S.O. Windows 2008 Server 64 bit
  • SQL Server 2008 (Standard Edition)
  • Microsoft Excel 2007 (SP2)

L’esecuzione del seguente comando:

exec dbo.USP_DMO_Excel_Pivot_RefreshTable
  @FileName = 'c:\temp\CmdTest.xlsx',
  @WorksheetIndex = 1,
  @PivotTableName = '',
  @Password = '',
  @WriteResPassword = '',
  @Debug = 1;

Restituisce l’errore:

USP_DMO_Excel_Pivot_RefreshTable: Si è verificato un errore durante l'apertura della cartella di lavoro protetta da password. Controllare la correttezza dei parametri di input (@Password e @WriteResPassword).
Messaggio 50000, livello 16, stato 1, procedura USP_DMO_Excel_Pivot_RefreshTable, riga 365
Error whilst: Restituzione dell'oggetto WorkBooks , Impossibile accedere al file “c:\temp\CmdTest.xlsx”. I motivi possibili sono:

  • Il nome o il percorso del file non esiste.
  • Il file è utilizzato da un altro programma.
  • Il nome della cartella di lavoro…

Nello scenario descritto, il supporto OLE Automation non riesce ad accedere al file Excel.

Ecco la soluzione:

Con S.O. Windows 2008 Server x64:

  • Creare la cartella: C:\Windows\SysWOW64\config\systemprofile\Desktop

Con S.O. Windows 2008 Server x86:

  • Creare la cartella: C:\Windows\System32\config\systemprofile\Desktop

 

Per aprire il file Excel con OLE Automation sembra proprio che nella cartella systemprofile sia necessaria la presenza della cartella Desktop Smile

Comments

No Comments