Visual Basic - Almacenar en variable nombre de archivo

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Almacenar en variable nombre de archivo

Publicado por Carlos (9 intervenciones) el 12/04/2016 23:10:02
Buenas tardes,

Alguien sabe como puedo almacenar la ruta de un archivo que constantemente cambia de nombre en una variable.

Con el fin de leerla posteriormente.

Agradecería mucho me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Almacenar en variable nombre de archivo

Publicado por Antoni Masana (558 intervenciones) el 14/04/2016 10:38:46
Deberías ampliar un poco más la explicación de que archivo es, como, cuando y porque cambia de nombre, quien ha de utilizar este archivo para saber donde se guarda la variable, que tipo de archivo es.

Piensa que si no te explicas con más detalle es imposible saber cual es el problema.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Almacenar en variable nombre de archivo

Publicado por Carlos (9 intervenciones) el 14/04/2016 14:57:13
Buen día,

Les comento, tengo un proyecto de una aplicación en Visual Basic, esta aplicación lo que hace es posicionarme los datos ingresados por el usuario en campos específicos de un arhivo txt, para que posteriormente se cargue a un SFTP y luego a través de un Job de SQL ejecutar un procedimiento para cargar los datos en la DB.

El problema que tengo es que al momento de darle nombre al archivo tiene que ser con cierto formato específico que vendría siendo algo así:

CLIENT160414000148421

Que está dividido de la siguiente manera:

La palabra CLIENT, el año actual, el mes actual, el día actual, un secuencial, y un número capturado por un combox.

Cada vez que genero el archivo va a cambiar el número de secuencia o el dato capturado en el combox, entonces al momento en que llamo un procedimiento almacenado (Stored Procedure) tengo como uno de los parámetros el nombre, entonces si el nombre no coincide con el archivo almacenado en la ruta local no se carga en el SFTP.

Mi necesidad es almacenar el nombre del archivo en una variable, para que no haya problema. Les muestro un poco de mi código.

1
2
3
4
5
6
7
Dim Intru As Object
        Dim Archivo As Object
        Intru = CreateObject("Scripting.FileSystemObject")
 
        Archivo = Intru.CreateTextFile("C:\ClientLoad\temp\CLIENTES" & Format(Today.Date, "yyMMdd00") & secuencia.Text & bines.Text & ".txt")
        Archivo = "C:\ClientLoad\temp\CLIENTES" & Format(Today.Date, "yyMMdd00") & secuencia.Text & bines.Text & ".txt"
        Archivo.WriteLine(Texto)

De esa manera le doy el formato al nombre del archivo y luego ejecuto en un botón independiente la carga al SFTP a través de un Stored Procedure.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        'Procedimiento almacenado '
        Dim cn As New SqlConnection("Data Source=192.168.60.1;Initial Catalog=master;User ID=user;Password="password")
        Dim cmd As New SqlCommand("usp_sftp_putfile", cn)
        cmd.CommandType = CommandType.StoredProcedure
        cn.Open()


        cmd.Parameters.Add("@server", SqlDbType.NVarChar)
        cmd.Parameters("@server").Value = "192.168.60.1"

        cmd.Parameters.Add("@userName", SqlDbType.NVarChar)
        cmd.Parameters("@userName").Value = "user"

        cmd.Parameters.Add("@password", SqlDbType.NVarChar)
        cmd.Parameters("@password").Value = "password"

        cmd.Parameters.Add("@remoteDirectory", SqlDbType.NVarChar)
        cmd.Parameters("@remoteDirectory").Value = "/ruta"

        cmd.Parameters.Add("@localFileName", SqlDbType.NVarChar)
        cmd.Parameters("@localFileName").Value = "C:\ClientLoad\temp\CLIENTES1604130001424702" (Acá está el problema)
 
        cmd.Parameters.Add("@transferTypeBinary", SqlDbType.NVarChar)
        cmd.Parameters("@transferTypeBinary").Value = ""
 
        cmd.ExecuteNonQuery()
        cn.Close()
 
        MessageBox.Show("Se ha generado el archivo")

Mi idea es en el parametro localFileName sea igual a una variable que contenga el nombre del archivo a cargar, no es más, le he dado vueltas al asunto pero estoy enfrascado con esto, parece sencillo, pero no logro conseguirlo debido a que el nombre del archivo, no siempre es el mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Almacenar en variable nombre de archivo

Publicado por Andres Leonardo (1798 intervenciones) el 14/04/2016 17:37:29
Guardalo en una base de datos .. o en un archivo .. que luego sea leido por el SP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar