Friday, January 19, 2018

Como enviar email desde SQL Jobs - sp_send_dbmail - Parte 2

Hola, retomando la primera parte de esta entrada http://lizzymendivil.blogspot.com/2018/01/como-enviar-email-desde-sql-jobs.html les dejo cómo utilizar el sp propio de SQL SERVER llamado msdb.dbo.sp_send_dbmail



Mi stored procedure es el siguiente, está llamando a una función, dicha función me devuelve todos los datos que yo quiero que se envíe por correo. Luego ejecuta el SP propio de Sql Server el cual a su vez pide ciertos parámetros:

@profile_name es el profile que habiamos creado en la anterior entrada, si está NULL, tomará el profile por defecto.
@recipients a los correos destinatarios, si tienes más de uno, deberán ir separados por punto y coma.
@subject es el asunto del correo
@body es el cuerpo del correo


Asi mismo, se puede enviar archivo adjunto o también se le puede dar formato HTML al body.


Como enviar email desde SQL Jobs - sp_send_dbmail - Parte 1

Hola!

En esta ocasión les compartiré cómo enviar un email desde SQL Jobs en SQL Server utilizando el stored procedure "sp_send_dbmail"

Primero que nada, debemos configurar la "Database Mail", para ello utilizaremos el Wizard (hay otra forma de hacerlo a través de comandos)

CONFIGURAR DATABASE MAIL UTILIZANDO EL WIZARD

Conéctate a Microsoft SQL Server Management Studio, expande Management,click derecho sobre Database Mail y click en Configure Database Mail


Luego selecciona "Configure Database Mail" y veras la siguiente ventana de bienvenida, luego haz click en "Next".



Aparecera la siguiente ventana, selecciona "Set up Database Mail by performing..." y haz en click "Next".



Si el Database Mail no ha sido habilitado todavia, aparecerá la siguiente ventana. Haz click en "Yes" para habilitarlo. Si ya está habilitado, no se mostrará la ventana.



Ahora, ingresa un nombre de perfil y descripción (la descripción es opcional) y haz click en "Add..."


En la siguiente ventana que aparecerá, llena todos los datos solicitados:

E-mail address
Display name (optional)
Replay e-mail (optional)
Server name
Port number
This server requires a secure connection (SSL): YES
Cuando hayas terminado, haz click en "OK".



Luego, se te mostrará una ventana con los datalles de la cuenta SMPT. Haz click en "Next" para continuar.



En la siguiente ventana, deberás hacer check como Public al Profile que acabas de crear ponerle Yes como Default Profile. Haz click en "Next".



La siguiente ventana contiene algunos paráemetros adicionales que pueden ser seteados para controlar cómo se enviará el mail. Puedes dejarlos con los valores por defectos o cambiarlos. Click en "Next".



A continuación, se te mostrará una ventana con las opciones que haz seleccionado anteriormente. Si todo está correcto, haz click en "Finish" o "Back" para realizar algun cambio.




Cuando hayas hecho click en "Finish", la siguiente ventana que verás, te mostrará el estado de la instalación. Cuando haya concluido, haz click en "Close".



HABILITAR DATABASE MAIL EN EL SQL SERVER AGENT

Hasta este punto, tu SQL Server puede enviar correo pero tu SQL Server Agent aún no. Hagamos lo siguiente:

Click derecho en SQL Server Agent y selecciona "Properties":



Ahora, click en el tab "Alert System". Aqui es donde le dirás al Sql Server Agent qué profile de database mail usar.



Debes reiniciar el SQL Server Agent para hacer que tome efecto.



CÓMO CREAR UN SQL SERVER AGENT JOB

Expande SQL Server Agent. Click derecho en "Jobs", luego click en "New Job".



En la página "General", ingresa un nombre, descripción es opcional, y click en Enable en el caso de que quieras que no se ejecute el job antes de programarlo.



Luego, ve a la página "Steps" y click en "New".



En esta ventana, ingresa el nombre del step, elige como Type: Transact-SQL scrip, elige el Database y en Command typea el comando que ejecutará tu job, para este caso será un SP el cual se encargará de enviar el correo.



Ahora ve a la página "Schedule", y haz click en "New".



En esta venanta, ingresa un nombre elige le Schedule type, configura la Frequency and el Daily frequency. Y click en “OK”.



Finalmente click en "OK" y eso es todo!




Eso es todo en cuanto a configuraciones, ahora necesitamos crear el Stored Procedure que enviará el correo y el cual será llamado a traves del job que acabamos de crear. Será la segunda parte de esta entrada.

Monday, January 15, 2018

Ellos saben mas de lo que pensamos

Hola!

Les dejo una nota cómica, exagerada pero nada fuera de lo imaginario o irreal.



Tuesday, November 21, 2017

Validar número con decimales usando expresión regular

how to check for decimal or numbers using regular expression validator
regular expression validator for decimal
Use regular expressions in VBScript

Ok. Usando VBScript y cierto IDE me vi obligada a optar por utilizar expresión regular para validar que el número ingresado por el usuario sea el que se requiere.

Queremos la siguiente estructura:

XXXXX.XXXX

5 for integer and 4 for decimals e.g. 12345.1234
5 dígitos para la parte entera 4 dígitos para la parte flotante, que el separador sea punto o coma.

¿Cómo lo hacemos?

"^\d{1,5}([\,\.]\d{1,4})?$"  

Esto se interpreta así:

El número puede tener de 1 a 5 cifras, y opcionalmente puede tener una parte flotante cuyo separado puede ser o punto o coma seguida con entre 1 a 4 cifras de deciamles.



He testeado este código y está funcionando como se espera.

Thursday, November 9, 2017

Basic PHP - Quiz

Hola! Les dejo un quiz o test sobre PHP básico.

Preguntas y respuestas sobre PHP 

1. ¿Cuál es el operador en PHP para acceder a propiedades y métodos de una instancia de clase?. Seleccione una:
 a. -> (guión y mayor que).
 b. . (punto)
 c. _ (guión bajo).
 d. : (dos puntos).

2. ¿Selecciona dos funciones nombradas incorrectamente?
Seleccione una o más de una:
a. 2imprimirResultado().
b. *imprimirResultado().
c. _imprimirResultado().
d. ImprimirResultado().


3. Selecciona dos palabras reservadas de PHP para definir constantes.
Seleccione una o más de una:
a. const.
b. define.
c. cons.
d. constant.


4. ¿Cómo se recibe un archivo proveniente de un formulario en un script de PHP?
Seleccione una:
a. Mediante el arreglo asociativo $_FILES y la llave con que fue enviado desde la vista.
b. Mediante el arreglo asociativo $_POST y la llave con que fue enviado desde la vista.
c. Mediante el arreglo asociativo $_GET y la llave con que fue enviado desde la vista.
d. Mediante el arreglo asociativo $_FILE y la llave con que fue enviado desde la vista.


5. Selecciona las funciones de PHP que permiten realizar gestión de archivos.
Seleccione una o más de una:
a. fopen
b. fread
c. fscan
d. fwriting


6. ¿Qué se debe configurar para poder iniciar la programación de Scripts en PHP?
Seleccione una:
a. Contar con un servidor, ya sea real o simulado en la máquina local.
b. Instalar un compilador de PHP de la página oficial de este lenguaje.
c. No se necesita ninguna configuración, se puede iniciar con la programación de inmediato.
d. Tener una máquina adicional que cumpla las funciones de cliente.


7. Selecciona dos tipos de datos compuestos de variables en PHP.
Seleccione una o más de una:
a. array.
b. object.
c. resource.
d. boolean.


8. ¿Cómo se puede mostrar el contenido de una variable de PHP, inmersa en un documento HTML?
Seleccione una:
a. Con las etiquetas de apertura y cierre de php y en su interior la palabra echo seguida por la variable.
b. En el HTML se usa la palabra echo y luego el nombre de la variable.
c. Usar la etiqueta de HTML < php > < /php > y en su interior la variable a imprimir.
d. No es posible realizar tal cosa.


9. ¿Cuál de las siguientes afirmaciones sobre los ciclos en PHP es falsa?
Seleccione una:
a. El ciclo do while evalúa la condición antes de ejecutar las acciones y hacer la iteración.
b. El ciclo while ejecuta las acciones después de evaluar la condición.
c. El ciclo for define el contador de iteración, la condición y el incremento en una sóla sentencia..
d. El ciclo foreach se encarga de recorrer arreglos u objetos..


10. ¿Cómo se retorna una respuesta desde un archivo PHP hacia una función Ajax que hizo una petición a dicho script?
Seleccione una:
a. Se usa la palabra reservada echo y a continuación lo que se desea enviar como respuesta.
b. Se usa la palabra reservada return y a continuación lo que se desea enviar como respuesta.
c. Se usa la palabra reservada response y a continuación lo que se desea enviar como respuesta.
d. No es posible enviar una respuesta a Ajax desde un archivo PHP.