TUTORIAL DE STORED PROCEDURE

Posted: jueves, 23 de junio de 2011 by Skuarch in Etiquetas: , , ,
0



En esta entrada explico un stored procedure sencillo este nuevo post sobre stored procedure toma cosas mas complejas como la es crear un select con variables y asi es como empezamos.

La estructura basica para crear un stored procedure es la siguiente

#para el caso de desarrollo siempre tenemos que tener este comando
DROP PROCEDURE IF EXISTS mysp;

DELIMITER //
CREATE PROCEDURE mysp ()

BEGIN

#declaracion de variables y con DEFAULT se inicializan
DECLARE var1 INT DEFAULT 0;
DECLARE var2 VARCHAR(15);

END

//
DELIMITER ;



Para poder crear un select dinamico utilizando variables dentro de este mismo nececitamos crear un string y despues prepararlo para que sea ejecutado, de la siguente forma


SET @qry = CONCAT("SELECT * FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;


Con esto podemos crear un select dinamico y puede ser mas complejo.


SET @qry = CONCAT("SELECT algo INTO var2 FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;



Entonces nuestro stored procedure quedaria mas o menos asi


DELIMITER //
CREATE PROCEDURE mysp ()

BEGIN

#declaracion de variables y con DEFAULT se inicializan
DECLARE var1 INT DEFAULT 0;
DECLARE var2 VARCHAR(15);

SET @qry = CONCAT("SELECT algo INTO var2 FROM tabla WHERE id = ", var1);
PREPARATE query FROM @qry;
EXECUTE query;


END

//
DELIMITER ;


las variables que tienen @ como @qry son variables de usuario

EXPORTAR UNA TABLA DE MYSQL A .csv

Posted: miércoles, 22 de junio de 2011 by Skuarch in Etiquetas: , , ,
0




Con este sencillo comando puedes exportar la base de datos con todos los datos a un archivo .csv

mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,



opcionalmente puedes utilizar esto para solo guardar una tabla

SELECT *
INTO OUTFILE '/opt/tmp/products.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM products


si deseas exportar los datos con un select tienes que habilitar la opcion tmpdir y despues reiniciar mysql entonces en tu archivo de configuracion de mysql (my.cnf o my.ini) quedaria mas o menos asi

[mysqld]
tmpdir=/opt/tmp/


tienes que asegurarte de que la carpeta tenga permisos de lectura y escritura, si no los tiene pues se los das

sudo chmod 777 -R /opt/tmp


si te aparece el error MYSQL ERROR : Can't create/write to file '/opt/tmp/
pueden ser problemas de permisos en la carpeta y lo puedes solucionar cambiando de propietario la carpeta

sudo chown root:root /opt/tmp
* Asignar Permisos
sudo chmod 1777 /opt/tmp
* Reiniciar mysql
sudo service mysqld restart

INSTALAR INFOBRIGHT, BASE DE DATOS MYSQL OPTIMIZADA

Posted: martes, 21 de junio de 2011 by Skuarch in Etiquetas: , , , ,
0




Cuando se tienen bases de datos muy grandes, me refiero a unos 15 millones de datos o mas, mysql empieza a bajar el rendimiendo, claro esta que esto depende del servidor donde este corriendo mysql, para solucionar esto podemos usar infobright esta base de datos es un mysql optimizado y aqui te muestro como instalarlo en ubuntu

Para este tutorial se utilizaron los siguientes archivos
infobright-3.5.2-p1-i686-ice.deb
ubuntu server 10.10


Lo primero es instalar lo esencial para compilar
sudo apt-get install build-essential

Lo segundo que tienes que hacer este instalar el servidor nscd
sudo apt-get install nscd

abrir con el editor de texto que tu quieras el archivo /etc/nscd.conf
buscar la linea que dice
enable-cache hosts no

y cambiar el no por un yes
enable-cache hosts yes

reiniciar el servicio
sudo service nscd restart

despues vaz a la pagina de infobright y bajas el .deb
cuando instales el .deb no tienes que estar en las carpetas de /home/ /home/usuario/ /home/usuario/desktop/ ni /root en mi caso lo movi a /opt
sudo cp infobright.deb /opt/

le di permisos
sudo chmod 777 -R infobright.deb

y lo instale
sudo dpkg -i infobright.deb

despues se tiene que activar ICE (infobright comunity edition)
entramos a la siguiente ruta
cd /usr/local/infobright/

ejecutamos el script
sudo sh postconfig.sh

nos pedira que nos registremos, le decimos que no y volvemos a correr el script
sudo sh postconfig.sh

aqui nos dira si queremos cambiar algunos parametros como es el puerto y la carpeta de data y a todos les decimos que no, con esto queda activado ICE.
arrancamos el servidor de base de datos
sudo /etc/init.d/mysqld-ib start

despues le le ponemos password al usuario root
/usr/local/infobright-3.5.2-i686/bin/mysqladmin -u root password 'new-password'

accedemos a la base de datos
/usr/bin/mysql-ib -uroot -p

ponemos nuestro password y con eso ya estamos en el 90% de la instalacion
el archivo de configuracion se encuentra en
/etc/my-ib.cnf

a este archivo al ultimo le ponemos estas tres lineas
skip-host-cache
skip-name-resolve
bind-address=0.0.0.0



Posibles problemas


Access denied for user: 'root@localhost' (Using password: NO)
Para solucionar esto tienes que entrar a mysql
de la base de datos mysql y de la tabla user tienes que insertar lo siguente
use mysql

insert into user (host,user) values ('%', 'root');

despues le tenemos que poner password
update user set password=PASSWORD('elPassword') where user = 'root';

se le tiene que dar permisos
GRANT ALL ON *.* TO 'root'@'%';

con esto todo el que accede tiene permisos de hacer lo que quiera si se loguea como root
por ultimo ponemos esto
flush privileges;

reinicias el servidor y listo
sudo /etc/init.d/mysqld-ib restart

PONER CODIGO EN BLOGGER

Posted: miércoles, 25 de mayo de 2011 by Skuarch in
0




Para poder poner codigo dentro de un post podemos usar esta pagina

http://tohtml.com/

0



En ocaciones solo se requiere trabajar con un solo archivo, pero netbeans pone las dependencias en la carpeta lib dentro de la carpeta dist, para evitar esto vamos a poner la siguientes lineas en el archivo build.xml
<target name="package-for-store" depends="jar">

<!-- Change the value of this property to be the name of your JAR,
    minus the .jar extension. It should not have spaces.
    <property name="store.jar.name" value="ssc"/>
    -->
<property name="store.jar.name" value="ElNombreDeTuJar"/>

<!-- don't edit below this line -->
<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>

<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>

<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="dist" includes="*.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>

<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>

<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>

<delete file="${store.dir}/temp_final.jar"/>

</target>

Solo debes de editar esta linea
<property name="store.jar.name" value="ElNombreDeTuJar"/>

Solo remplaza ElNombreDeTuJar por el verdadero nombre del .jar, despues en la pestaña de files da click derecho en el archivo build.xml y en las opciones run target >> others target selecionas la opcion package-for-store y con eso obtienes todo en un solo jar

ACELERAR LA NAVEGACION EN UBUNTU

Posted: miércoles, 11 de mayo de 2011 by Skuarch in Etiquetas: , , , , ,
0




Casualemente me encontre en internet que existen DNS de Google y se me ocurrio, si se los pongo a mi conexion posiblemente sea mas rapida y esto es lo que se realizo.

Abri Network Connections (System>>Preferences>>Network Connections) en mi caso se lo puse a la inalambrica (wireless) seleccione mi conexion pulse el boton de edit y en la pestaña de IPv4 settings en method seleccione automatic (DHCP) adress only y mas abajo en DNS servers puse 8.8.8.8, 8.8.4.4 despues puse el comando sudo service network-manager restart y listo

Si tu navegacion no mejora pues deja la configuracion como la tenias antes

CONTROL DE VERSIONES

Posted: martes, 10 de mayo de 2011 by Skuarch in Etiquetas: ,
0




GIT es un sistema de control de versiones distribuido, con el puedes crear una copia de tu codigo localmente y despues subirlo a un servidor en internet.

La pagina oficial de Git
Servidor en la nube para poner tu codigo
Guia de git

Con GIT puedes realizar los mismo que con otros servidores de control de versiones, como merge, commit y update, existe plug in para netbeans y puedes checar tus archivos desde una pagina web (github).

ESCRITORIO REMOTO EN UBUNTU

Posted: lunes, 9 de mayo de 2011 by Skuarch in Etiquetas: , , , ,
0




Cuando me queria conectar a un servidor que tuviera Windows desde ubuntu siempre usaba Terminal Server Client, pero un compañero me comento de un nuevo programa para conectarse por RDP a una computadora con Windows Remmina Remote Desktop

Este cliente no te pide que te reconectes y ni pide confimaciones de nada ademas de que guarda muy bien las contraseñas, este programa es altamente recomendable y los puedes encontrar en el ubuntu software center

TRANSPARENCIA Y/O OPACITY EN CSS

Posted: viernes, 6 de mayo de 2011 by Skuarch in Etiquetas: , ,
0




Para poder realizar una div con transparencia se requiere de esto



/*ie6*/
filter:alpha(opacity=90);
/*standar css*/
opacity:0.88;



obviamente lo pones en tu archivo de css o en la propiedad style de tu tag

DEMOS HTML5

Posted: by Skuarch in Etiquetas: , ,
0




Estos son los demos oficiales de HTML5

ver demos