Eu sou um DBA. Migramos bancos de dados SQL 2000 + pacotes DTS para SQL 2008. Um dos pacotes DTS executa um script ActiveX para abrir um arquivo Excel (que executa macros quando você o abre). A codificação dentro do script ActiveX é:
Function Main()
Set XlApp = CreateObject("Excel.Application")
call XlApp.Workbooks.Open("\\server\c$\path.xls",3)
call XlApp.Workbooks.Open("\\server\c$\path2.xls",3)
call XlApp.Workbooks.Open("\\server\c$\path3.xls",3)
set XlApp = nothing
Main = DTSTaskExecResult_Success
End Function
Às vezes, ele lança "O componente Active X apresentou um erro de tempo de execução" sem nem mesmo informar os detalhes sobre o erro e, às vezes, funciona bem. O pacote DTS é executado usando um trabalho de agente SQL. Existe uma maneira melhor e confiável de fazer isso sem usar o script ActiveX?
Obrigado!
Embora eu NÃO seja proficiente com o código .net, este exemplo em particular parece ser uma boa opção para usar os componentes .net ou SSIS listados abaixo. Você pode até usar o PS junto com o SSIS.
http://pragmaticworks.com/help/dtsxchange/index.htm#page=ActiveX Script Task.htm
http://pragmaticworks.com/help/dtsxchange/scr/FAQ%20-%20How%20to%20convert%20Scripting.FileSystem%20object%20of%20ActiveX%20Script%20to%20native%20SSIS%20Task.htm
http://pragmaticworks.com/help/dtsxchange/index.htm#page=ActiveX Script Task.htm