lunes, 23 de octubre de 2017

Connection to service socket failed GlobalProtected

Error al conectarse a VPN por GlobalProtected, error “Connection to service socket failed”
















Presionar botón de Windows y escribir Servicios: Y seleccionar servicios

Buscamos en la lista el servicio que se llama PanGPS,


Damos click secundario y seleccionamos Iniciar











Regresar a global protected e intentar de nuevo conectar.
En teoría ya debería poder conectarse.


viernes, 20 de octubre de 2017

Convertir Numero a Letra SQL SERVER Numero a letra

La siguiente función sql server convierte un numero a letra soporta hasta 12 dígitos es decir hasta 999,999,999,999.99

Con este tutorial puedes convertir cualquier numero en letra de forma fácil y rápida con la ayuda de este SP.








CREATE FUNCTION [dbo].[CantidadConLetra]
(
    @Numero             Decimal(18,2)
)
RETURNS Varchar(180)
AS
BEGIN
    DECLARE @ImpLetra Varchar(180)
        DECLARE @lnEntero bigint,
                        @lcRetorno VARCHAR(512),
                        @lnTerna bigint,
                        @lcMiles VARCHAR(512),
                        @lcCadena VARCHAR(512),
                        @lnUnidades bigint,
                        @lnDecenas bigint,
                        @lnCentenas bigint,
                        @lnFraccion bigint
        SELECT  @lnEntero = CAST(@Numero AS bigint),
                        @lnFraccion = (@Numero - @lnEntero) * 100,
                        @lcRetorno = '',
                        @lnTerna = 1
  WHILE @lnEntero > 0
  BEGIN /* WHILE */
            -- Recorro terna por terna
            SELECT @lcCadena = ''
            SELECT @lnUnidades = @lnEntero % 10
            SELECT @lnEntero = CAST(@lnEntero/10 AS bigint)
            SELECT @lnDecenas = @lnEntero % 10
            SELECT @lnEntero = CAST(@lnEntero/10 AS bigint)
            SELECT @lnCentenas = @lnEntero % 10
            SELECT @lnEntero = CAST(@lnEntero/10 AS bigint)
            -- Analizo las unidades
            SELECT @lcCadena =
            CASE /* UNIDADES */
              WHEN @lnUnidades = 1 THEN 'UN ' + @lcCadena
              WHEN @lnUnidades = 2 THEN 'DOS ' + @lcCadena
              WHEN @lnUnidades = 3 THEN 'TRES ' + @lcCadena
              WHEN @lnUnidades = 4 THEN 'CUATRO ' + @lcCadena
              WHEN @lnUnidades = 5 THEN 'CINCO ' + @lcCadena
              WHEN @lnUnidades = 6 THEN 'SEIS ' + @lcCadena
              WHEN @lnUnidades = 7 THEN 'SIETE ' + @lcCadena
              WHEN @lnUnidades = 8 THEN 'OCHO ' + @lcCadena
              WHEN @lnUnidades = 9 THEN 'NUEVE ' + @lcCadena
              ELSE @lcCadena
            END /* UNIDADES */
            -- Analizo las decenas
            SELECT @lcCadena =
            CASE /* DECENAS */
              WHEN @lnDecenas = 1 THEN
                CASE @lnUnidades
                  WHEN 0 THEN 'DIEZ '
                  WHEN 1 THEN 'ONCE '
                  WHEN 2 THEN 'DOCE '
                  WHEN 3 THEN 'TRECE '
                  WHEN 4 THEN 'CATORCE '
                  WHEN 5 THEN 'QUINCE '
                  WHEN 6 THEN 'DIECISEIS '
                  WHEN 7 THEN 'DIECISIETE '
                  WHEN 8 THEN 'DIECIOCHO '
                  WHEN 9 THEN 'DIECINUEVE '
                END
              WHEN @lnDecenas = 2 THEN
              CASE @lnUnidades
                WHEN 0 THEN 'VEINTE '
                ELSE 'VEINTI' + @lcCadena
              END
              WHEN @lnDecenas = 3 THEN
              CASE @lnUnidades
                WHEN 0 THEN 'TREINTA '
                ELSE 'TREINTA Y ' + @lcCadena
              END
              WHEN @lnDecenas = 4 THEN
                CASE @lnUnidades
                    WHEN 0 THEN 'CUARENTA'
                    ELSE 'CUARENTA Y ' + @lcCadena
                END
              WHEN @lnDecenas = 5 THEN
                CASE @lnUnidades
                    WHEN 0 THEN 'CINCUENTA '
                    ELSE 'CINCUENTA Y ' + @lcCadena
                END
              WHEN @lnDecenas = 6 THEN
                CASE @lnUnidades
                    WHEN 0 THEN 'SESENTA '
                    ELSE 'SESENTA Y ' + @lcCadena
                END
              WHEN @lnDecenas = 7 THEN
                 CASE @lnUnidades
                    WHEN 0 THEN 'SETENTA '
                    ELSE 'SETENTA Y ' + @lcCadena
                 END
              WHEN @lnDecenas = 8 THEN
                CASE @lnUnidades
                    WHEN 0 THEN 'OCHENTA '
                    ELSE  'OCHENTA Y ' + @lcCadena
                END
              WHEN @lnDecenas = 9 THEN
                CASE @lnUnidades
                    WHEN 0 THEN 'NOVENTA '
                    ELSE 'NOVENTA Y ' + @lcCadena
                END
              ELSE @lcCadena
            END /* DECENAS */
            -- Analizo las centenas
            SELECT @lcCadena =
            CASE /* CENTENAS */
              WHEN @lnCentenas = 1 THEN 'CIENTO ' + @lcCadena
              WHEN @lnCentenas = 2 THEN 'DOSCIENTOS ' + @lcCadena
              WHEN @lnCentenas = 3 THEN 'TRESCIENTOS ' + @lcCadena
              WHEN @lnCentenas = 4 THEN 'CUATROCIENTOS ' + @lcCadena
              WHEN @lnCentenas = 5 THEN 'QUINIENTOS ' + @lcCadena
              WHEN @lnCentenas = 6 THEN 'SEISCIENTOS ' + @lcCadena
              WHEN @lnCentenas = 7 THEN 'SETECIENTOS ' + @lcCadena
              WHEN @lnCentenas = 8 THEN 'OCHOCIENTOS ' + @lcCadena
              WHEN @lnCentenas = 9 THEN 'NOVECIENTOS ' + @lcCadena
              ELSE @lcCadena
            END /* CENTENAS */
            -- Analizo la terna
            SELECT @lcCadena =
            CASE /* TERNA */
              WHEN @lnTerna = 1 THEN @lcCadena
              WHEN @lnTerna = 2 THEN @lcCadena + 'MIL '
              WHEN @lnTerna = 3 THEN @lcCadena + 'MILLONES '
              WHEN @lnTerna = 4 THEN @lcCadena + 'MIL '
              ELSE ''
            END /* TERNA */
            -- Armo el retorno terna a terna
            SELECT @lcRetorno = @lcCadena  + @lcRetorno
            SELECT @lnTerna = @lnTerna + 1
   END /* WHILE */
   IF @lnTerna = 1
       SELECT @lcRetorno = 'CERO'
   DECLARE @sFraccion VARCHAR(15)
   SET @sFraccion = '00' + LTRIM(CAST(@lnFraccion AS varchar))
   SELECT @ImpLetra = RTRIM(@lcRetorno) + ' PESOS ' + SUBSTRING(@sFraccion,LEN(@sFraccion)-1,2) + '/100 M.N.'
   RETURN @ImpLetra
END;


miércoles, 18 de octubre de 2017

FORMATOS DE FECHA EN SQL SERVER

Convierte fecha a una cadena en diferentes formatos:
Formatos de fecha en sql server, con los siguientes convert puede convertir a diferentes formatos

SELECT  CONVERT(CHAR(10),GETDATE(), 23) --AAAA-MM-DD
SELECT  CONVERT(CHAR(10),GETDATE(), 101) --MM/DD/AAAA
SELECT  CONVERT(CHAR(10),GETDATE(), 102) --AAAA.MM.DD
SELECT  CONVERT(CHAR(10),GETDATE(), 103) --DD/MM/AAAA
SELECT  CONVERT(CHAR(10),GETDATE(), 104) --DD.MM.AAAA
SELECT  CONVERT(CHAR(10),GETDATE(), 105) --DD-MM-AAAA
SELECT  CONVERT(CHAR(10),GETDATE(), 110) --MM-DD-AAAA
SELECT  CONVERT(CHAR(10),GETDATE(), 111) --AAAA/MM/DD
SELECT  CONVERT(CHAR(8),GETDATE(), 112) --AAAAMMDD
SELECT  CONVERT(CHAR(19),GETDATE(), 20) --AAAA-MM-DD HH:MM:SS (H 1-24)
SELECT  CONVERT(CHAR(23),GETDATE(), 21) --AAAA-MM-DD HH:MM:SS.MSS (H 1-24)
SELECT  CONVERT(CHAR(23),GETDATE(), 25) --AAAA-MM-DD HH:MM:SS.MSS (H 1-24)
SELECT  CONVERT(CHAR(19),GETDATE(), 120) --AAAA-MM-DD HH:MM:SS (H 1-24)
SELECT  CONVERT(CHAR(23),GETDATE(), 121) --AAAA-MM-DD HH:MM:SS.MSS (H 1-24)
SELECT  CONVERT(CHAR(23),GETDATE(), 126) --AAAA-MM-DD?HH:MM:SS.MSS (H 1-24)
SELECT  CONVERT(CHAR(8),GETDATE(), 1) --MM/DD/AA
SELECT  CONVERT(CHAR(8),GETDATE(), 2) --AA.MM.DD
SELECT  CONVERT(CHAR(8),GETDATE(), 3) --DD/MM/AA
SELECT  CONVERT(CHAR(8),GETDATE(), 4) --DD.MM.AA
SELECT  CONVERT(CHAR(8),GETDATE(), 5) --DD-MM-AA
SELECT  CONVERT(CHAR(8),GETDATE(), 10) --MM-DD-AA
SELECT  CONVERT(CHAR(8),GETDATE(), 11) --AA/MM/DD
SELECT  CONVERT(CHAR(6),GETDATE(), 12) --AAMMDD
SELECT  CONVERT(CHAR(20),GETDATE(), 22) --MM/DD/AA H:MM:SS (H 1-12)
SELECT  CONVERT(CHAR(19),GETDATE(), 0)  --Mes DD AAAA h:mmPM (H 1-12)
SELECT  CONVERT(CHAR(9),GETDATE(), 6) --DD mes AA
SELECT  CONVERT(CHAR(10),GETDATE(), 7) --mes DD, AA
SELECT  CONVERT(CHAR(26),GETDATE(), 9) --Mes DD AAAA H:MM:SS:MSS (H 1-12)
SELECT  CONVERT(CHAR(24),GETDATE(), 13) --DD MES AAAA HH:MM:SS:MSS (H 1-24)
SELECT  CONVERT(CHAR(26),GETDATE(), 109) --MES DD AAAA H:MM:SS:MSS (H 1-12)
SELECT  CONVERT(CHAR(19),GETDATE(), 100) --MES DD AAAA H:MM (H 1-12)
SELECT  CONVERT(CHAR(11),GETDATE(), 106) --DD MES AAAA
SELECT  CONVERT(CHAR(12),GETDATE(), 107) --MES DD,AAAA
SELECT  CONVERT(CHAR(24),GETDATE(), 113) --DD MES AAAA HH:MM:SS:MSS (H 1-24)
SELECT  CONVERT(CHAR(8),GETDATE(), 8 ) --HH:MM:SS (H 1-24)
SELECT  CONVERT(CHAR(12),GETDATE(), 14) --HH:MM:SS:MSS (H 1-24)
SELECT  CONVERT(CHAR(8),GETDATE(), 24) --HH:MM:SS (H 1-24)
SELECT  CONVERT(CHAR(8),GETDATE(), 108) --HH:MM:SS (H 1-24)

SELECT  CONVERT(CHAR(12),GETDATE(), 114) --HH:MM:SS:MSS (H 1-24)

martes, 17 de octubre de 2017

Respaldo de tabla SQL SERVER

Respaldo de tabla SQL SERVER

Para respaldar una tabla completa o parcial se utiliza el siguiente qry.

SELECT * INTO [NombreTablaRespaldo] FROM [Nombre TablaaRespaldar] –TABLA COMPLETA
  
SELECT * INTO [NombreTablaRespaldo] FROM [Nombre TablaaRespaldar] where <condiciones> –TABLA PARCIAL


Estos  qrys crean una tabla con el nombre que definas y con la misma estructura de la tabla a respaldar.

domingo, 15 de octubre de 2017

Script para conocer indices perdidos en SQL SERVER TUNNING

INDICES PERDIDOS


El siguiente qry da como resultado los indices que están perdidos o hacen falta a determinada base de datos, te tienes que posicionar en la base de datos a la que deseas ver los indices faltantes, generas una nueva consulta, pegas la consulta y ejecutas, te dara una lista de los indices que faltan y la sentencia para crearlos.


SELECT
  mig.index_group_handle, mid.index_handle,
  CONVERT (DECIMAL (28,1),
    migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)
  ) AS improvement_measure,
  'CREATE INDEX IDX_' + REPLACE(REPLACE(mid.statement, '[', ''), ']', '')+ CONVERT (VARCHAR, mig.index_group_handle) + '_' + CONVERT (VARCHAR, mid.index_handle)
  + ' ON ' + mid.statement
  + ' (' + ISNULL (mid.equality_columns,'')
    + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
    + ISNULL (mid.inequality_columns, '')
  + ')'
  + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
  migs.*, mid.database_id, mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
WHERE CONVERT (DECIMAL (28,1), migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)) > 10
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC

INDICES NO OCUPADOS



DECLARE @db VARCHAR(25)
SET @db = 'congadb'
SELECT object_name(i.object_id), i.name
FROM sys.indexes i, sys.objects o
WHERE  i.index_id NOT IN (SELECT s.index_id
       FROM sys.dm_db_index_usage_stats s
    WHERE s.object_id=i.object_id AND
    i.index_id=s.index_id AND
  database_id = db_id(@db) )
AND o.TYPE = 'U'
AND o.object_id = i.object_id
ORDER BY object_name(i.object_id) ASC

viernes, 13 de octubre de 2017

Como ligar Blogger, GoDaddy y Adsense para poner anuncios en tu blog.


Muchos de nosotros nos hemos preguntado cómo poner anuncios en nuestro blog para así poder generar un pequeño ingreso extra, de esta manera fue como lo logre.
Requisitos.
  • ·         Tener un blog con al menos 6 meses de creación, si no tiene los 6 meses no aparecerá la opción para agregar a Adsense.
  • ·         Tener una cuenta de Adsense, puede ser la misma que la de tu blog (Gmail)
  • ·         Comprar un dominio, en este caso adquirí mi dominio con GoDaddy.

Paso 1 Registrar y comprar el dominio.

Una vez comprado el dominio con GoDaddy nos llegara un correo en el cual nos dicen que nuestro dominio está listo:

Paso 2 Damos clik en el botón Manage My Domain

Iniciamos sesión con el usuario y contraseña con el que se registraron para comprar el dominio.

Paso 3. Agregar nueva configuración de nuevo dominio en Blogger

Entramos a nuestra cuenta de Blogger, damos click en Configuración y luego en Básico

Damos click en Configuración de dominios de terceros.
Pegamos el nombre de nuestro sitio comprado, nos mandara un error y se soluciona haciendo lo que comenta:
  En el sitio web del registrador de tu dominio, busca la configuración del Sistema de nombres de dominio (DNS) e ingresa los dos CNAME siguientes:
Campo Nombre, Etiqueta o Host
Campo Destino, Objetivo o Para
www
ghs.google.com
zpxxxxxmdg
gv-xxxxxxxxx.googlehosted.com

Paso 4 Registrar los CNAME en el administrador de nuestro sitio.

Regresamos a nuestro administrador de dominio godaddy.










Damos click en los 3 puntos y seleccionamos Administrar DNS









Nos aparecer una lista de registros, en la parte inferior damos click en agregar.



Damos click en agregar y seleccionamos en tipo CNAME


Ingresamos los dos registros que nos dice en blogger, damos click en guardar.

Paso 5 Configurar nuevo sitio en Blogger

Regresamos a Blogger  y volvemos a dar click en guardar  de la sección de Configuracion de dominios de terceros.


En esta ocasión ya nos dejara guardar el dominio.

 Paso 6 Agregar sitio a Adsense

 Ingresamos a Google Adsense, Damos click en Mis anuncios ->  Otros productos.
Nos pedirá poner la url del sitio a agregar





Damos click en guardar y continuar, nos dará un código para copiar a tu sitio.


Paso 7 Agregar código a Blogger

Para esta alturas tu blog ya se puede ver desde tu nuevo sitio.
Entramos a blogger en la opción Diseño y le damos Agregar un gadget.


Seleccionamos HTML/JavaScript


Se abrirá una ventana, Ponemos un titulo  y en contenido pegamos el código que copiamos de Adsense.
Damos click en guardar.

Paso 8 Confirmar en Adsense que ya pegaste el código en tu sitio.

Regresamos a Adsense damos click al check confirmando que ya pegaste el código en tu sitio.
Te aparecerá la siguiente ventana:



Me quede hasta este punto en teoría solo espero la revisión.
Los mantendré informado, espero les sirva a alguien.

Saludos.


jueves, 12 de octubre de 2017

If en una sola línea C#

If en una sola línea C#


Normalmente al aplicar una condición en c# ocupamos el if – else, con la cual podemos realizar todo tipo de condiciones como por ejemplo:

  protected void Button4_Click(object sender, EventArgs e)
    {
        int Aux = 110;
        string Msj = "";

        if (Aux > 100)
        {
            Msj = "La variable Aux es mayor a 100";
        }
        else
        {
            Msj = "La variable Aux es menor a 100";
        }
    }

Sin existe otra forma de conseguir el mismo resultado en una sola línea y es conocido como Operador ?:
La sintáis es la siguiente
condition ? first_expression : second_expression; 
condition debe evaluarse como true o false. Si condition es true,
first_expression se evalúa y se convierte en el resultado.
Si condition es false, second_expression se evalúa y se convierte en el resultado. Solo se evalúa una de las dos expresiones.
Tanto el tipo de first_expression como el de second_expression deben coincidir, o bien debe existir una conversión implícita de un tipo al otro.
Puede expresar cálculos que, de lo contrario, podrían requerir una construcción if-else más concisa mediante el operador condicional. Por ejemplo, el código siguiente usa primero una instrucción if y después un operador condicional para clasificar un entero como positivo o negativo.
Ejemplo:


Msj = Aux > 100 ? "La variable Aux es mayor a 100" : "La variable Aux es menor a 100";