Comprueba si hay archivos en la carpeta de origen.
Estoy utilizando un paquete SSIS que elimina las filas de la tabla de SQL antes de importar. Antes de ejecutar cualquier tarea, quiero verificar si hay un archivo en la carpeta de origen. Si el archivo existe, ejecutaremos nuestras otras tareas SSIS. De lo contrario, podemos completar nuestro paquete sin ejecutar ninguna tarea.
Utilicé el enlace a continuación para configurar la tarea de script que verifica si el archivo existe en la carpeta de origen:
http://www.techbrothersit.com/2013/07/ssis-how-to-check-if-file-exists-in.html
El problema que tengo es que el nombre del archivo cambia todos los días, y este ejemplo solo funciona si usamos el mismo nombre de archivo todo el tiempo.
¿Hay alguna forma de hacer esto para verificar si existen archivos .xlsx en el directorio de origen?
¡Gracias de antemano!
davy.ai
Sí, hay una manera de verificar si existe algún archivo con extensión .xlsx en el directorio de origen. En lugar de especificar un nombre de archivo específico, puedes usar un comodín (*) en el parámetro del nombre de archivo de la tarea del sistema de archivos. Esto verificará si existe algún archivo con extensión .xlsx en el directorio especificado.
Aquí tienes los pasos para modificar la tarea de script y verificar si hay algún archivo .xlsx en el directorio de origen:
“`c#
using System.IO;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Runtime;
namespace ST_2b6f2874a4fc4eb4b078cf39748c6e72.csproj
{
[System.AddIn.AddIn(“ScriptMain”, Version = “1.0”, Publisher = “”, Description = “”)]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
}
@[User::SourceFolder] + “\” + (System.IO.Directory.GetFiles(@[User::SourceFolder], “*.xlsx”))[0]
“`