martes, julio 26, 2022

Reparar problemas de caracteres raros en SAP HANA ñ, tildes y otros.

 El otro día en una integración que tenemos con SAP HANA, tuvimos que mover la aplicación de servidor, y tuvimos varios problemas por que ahora las datos venia con signos de pregunta en los tildes, ñ arroba etc....

 La solución fue más fácil de lo que pensábamos, debíamos agregar CHAR_AS_UTF8=true a los parámetros de la conexión. Y quedo así.

      public function connect(){    

      private $driver = "/src/config/hdbclient/libodbcHDB.so";

      private $host = "192.168.0.1";

      private $uid = "usuario";

      private $pwd = "pass";

      private $dbname = "base";

        $dbConnection = odbc_connect("Driver=$driver;ServerNode=$host;Database=$dbname;CHAR_AS_UTF8=true;Client_CSet=UTF-8;", $uid, $pwd);

        return $dbConnection;

    }

jueves, junio 11, 2020

Validar con formula en excel un celda que sea email, correo electronico

Simple:
La formula para validar en este caso la celda H2 como email es:
validar primero que coincidan dato@dato. ?? o ??? que son la cantidad de caracteres, para el .com o .cl
Si lo encuentra traera la posicion en forma de numero, por lo que validamos que sea numero, y esto nos devolvera verdadero o falso.


=O(ESNUMERO(COINCIDIR("*@*.??";H2;0));ESNUMERO(COINCIDIR("*@.??";H2;0)))

martes, abril 28, 2020

Como enviar y recibir parámetros laravel - vuejs - blade


Para dejar tu url estática, ejemplo "miapp.com/home", llamadas algunas veces "single page", la forma para pasar parámetros, sin unsar vuex, de componentes padre a hijo y viceversa se debe utilizar las propiedades de vue.

Pasaremos del componente hijo cliente-contacto el parametro del cliente y le diremos que cambie de componente a factura-cliente

En la vista del componente por ejemplo vista_cliente_contacto.vue
usaremos $emit el cual es reservado y emite la información a su padre.

 getFacturas:function($id) {
                this.$emit('id_cli',$id)
                this.$emit('menu',32) 
            },

ARCHIVO PADRE template.blade.php

Dentro del código tenemos un menú dinámico, y del componente cliente-contacto recibe el menu y id_cli dependiendo del $event que reciba es donde lo guarda, a de cliente-contacto pasarle el id_cli (el id del cliente) y el menu, para que se cambio en el componente padre

....
data(){
return{
  id_cli:'',
  menu:''
}
}
..............

<template v-if="menu == 31">
          <cliente-contacto :menu="menu" @id_cli="id_cli = $event" @menu="menu = $event"></cliente-contacto>
</template>

<template v-if="menu == 32">
          <factura-cliente :id_cli="id_cli" :menu="menu"></factura-cliente>
 </template>


En la vista del componente factura-cliente recibimos la propiedad con props donde queda definido, para ser utilizado...

<template>
...
</template>

<script>
export default {
        data() {
            return {}
}
,
props: ['id_cli']
<scriptt>

Espero les sirva... 

Saludos

miércoles, julio 03, 2019

Diferencia entre TRANSLATE y REPLACE en SQL SERVER

La diferencia de estas funciones, en palabras fáciles, es que replace() remplaza la cadena completa que se busca, en cambio translate() remplaza cada carácter en la coordenada que pertenezca:
Ejemplos:
  • SELECT TRANSLATE( '1casa2' , '12' , 'XD' ) = XcasaD 
    • Ya que modificara donde este el 1 por la X y el 2 por D

  • A diferencia de replace que para ese mismo caso de hacer un SELECT REPLACE( '1casa2' , '12' , 'XD' ) = 1casa2
    • Ya que no encuentra la cadena '12'
    • Si fuera REPLACE(  '1casa12' , '12' , 'XD' ) = 1casaXD 
Cuando conviene usar TRANSALE, cuando necesitamos remplazar varios caracteres por ejemplo pasar todos los tipo de corchete a parentisis:

SELECT TRANSLATE ('2*[34+64]* {63-23*[324/23]}' , '{}[]', ' (())')
El resultado sera 2*(34+64)*(63-23*(324/23))


Cabe destacar que TRANSLATE viene desde SQL server 2017




miércoles, junio 19, 2019

Eliminar documentos por fecha en consola linux



Si necesitan borrar documentos o directorios antiguos, pueden usar:

find . -mtime +110 -exec rm -Rf -- {} \;


Donde el find lo pueden usar a gusto, si quieren buscar solo carpetas puede agregar :

-type d


El -mtime es para la cantidad de días para atrás que buscaran


El -exec se usa para ejecutar el siguiente comando para cada archivo encontrado, donde lo remplazara por los corchetes {}


El rm -Rf para que borre las carpetas no vacías.


Se recomienda primero ejecutar el comando del find para ver los archivos que eliminaran:


find . -mtime +110


Bueno y esto también sirve para todos los otros comandos que quieran usar, por ejemplo el mover archivos o carpetas, usando después del -exec:

-exec mv {} "/carpetaDestino/"

martes, junio 18, 2019

ELIMINAR MALWARE EN WORDPRESS "Haga clic en "Permitir" para confirmar que no es un robot"

Hoy un amigo tuvo un problema en su e-commerce realizado en wordpress, ¿el problema? la página del index se redireccionaba a páginas aleatorias como:

  • dreamteammyfriend.com
  • generallocationgo.com
  • dancewithlittleredpony.com
Con imágenes donde solicitaban aceptar las notificaciones, obviamente nunca las permitimos, si lo hicieron pueden revisar este link para limpiar sus navegadores http://www.myantispyware.com/2019/03/25/how-to-remove-robot-captcha-info-pop-ups-virus-removal-guide/



eliminar malware wordpress
No hay mucha información de esto en internet de como afecta a wordpress y por eso esta entrada en un blog añejo pero que quizás pueda evitar no perder unas cuantas horas a otra persona, y solo encontré una pagina en coreano https://blog.smileboylab.com/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%ED%99%88%ED%8E%98%EC%9D%B4%EC%A7%80-%ED%95%B4%ED%82%B9-%EB%B3%B5%EA%B5%AC-%EB%B0%8F-%EB%A9%80%EC%9B%A8%EC%96%B4-%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C-2/  que comentaba el código que se debia eliminar.

Que pasos hice y su resultado:


  1. Descargue el sitio a mi maquina y busque la linea "String.fromCharCode" y nada
  2. Revise casi todos los archivos en busca del script y nada, entonces el problema no eran el sitio en si.
  3. Desactive todos los plugin y el sitio volvio a vivir, todo feo pero ya no se redireccionaba
  4. Active uno por uno los plugin y recargaba el sitio, hasta que cuando active, en este caso el "Blog Designer" volvió a redireccionar.
  5. Entre a la configuración, y claro, por eso no aparecía en los archivos, ya que estaba como opción del Custom CSS como pueden ver, deje en blanco y quedo todo listo, solo se modificaron algunos css que se arreglaron.
eliminar malware wordpress

Puede que este código este en cualquier parte donde se pueda agregar html, así que ojo y a revisar.

Espero que les haya ayudado, comparte y comenta si has podido eliminarlo.

Saludos

miércoles, marzo 21, 2012

TRY CATCH, con alert Telerik

Un ejemplo de esto que se ocupa con RadwindowManager es para mostrar los errores de forma de Alert, cuando se ocupa AJAX ;)

Esto seria algo así

protected void validarSiEsUno()
{
   try
        {
                int numero = Convert.ToInt32(label.Text);
             if( numero != 1)
          {
                 throw new Exception("No es uno.");
           }
           else
           {
                 //Cualquier Cosa
            }
         }
    catch (Exception ex)
        {
            RadWindowManager1.RadAlert(ex.Message, 350, 100, "titulo", "CerrarPop");
        }
}
                   
en el ASPX ponemos la función javascript que se generara al cerrar la ventana en este caso CerrarPop, que no hará nada, pero tiene que existir ;)

function CerrarPop(){
}


y listo ;)