miércoles, 27 de abril de 2011

Error 1312 (0A000): PROCEDURE can't return a result set in the given context.

Cuando se conecte a mysql y pretenda utilizar un procedimiento almacenado, debe pasar un especial Flag para MySQL a través del comando connect, de lo contrario no obtendrá los resultados devueltos, y dará lugar a este error:
Error 1312 (0A000): PROCEDURE x can't return a result set in the given context.

Para corregir esto, cambie su cadena de conexion, adicionando ",false,131072", o ",false,65536" en los últimos 2 campos en:

$this->con = mysql_connect(host,user,password,false,65536);

según la documentación de mysql, se debe activar CLIENT_MULTI_RESULTS, sin embargo, al activar CLIENT_MULTI_STATEMENTS automáticamente se activa el primero.

ver en php.net o php.net y en dev.mysql.com

lunes, 25 de abril de 2011

Crear backup automáticos de bases de datos MySQL

Tutorial: Crear backup automáticos de bases de datos MySQL

set FECHA=%date%
set FECHA=%FECHA:/=%
set FECHA=%FECHA: =%
set FECHA=%FECHA::=%
set FECHA=%FECHA:,=%
set FILE=C:\\Backups\\Backup_%FECHA%.sql
C:/mysql/bin/mysqldump.exe -h SERVER -uUSER -pPASSWORD -r %FILE% DBNAME

En la última linea ubicar la ruta a mysqldump.exe, el resto dejarlo tal cual reemplazando SERVER USER PASSWORD y DBNAME.

Funciona perfecto

Traido de techdays

miércoles, 13 de abril de 2011

Error: 1045 Mysql Access denied for xxxx@xxxxxx using password: yes, (acceso remoto)

Bueno este error se presenta, bien por que el nombre de usuario esta mal escrito, o el password, pero también puede ser por resctricciones de acceso establecidas en la tabla user en la bd mysql, particularmente en el campo Host, en donde podemos establecer desde cual o cuales direcciones IP o nombres de maquina nos podemos conectar, principalmente este problema se presenta con el acceso a un servidor remoto, se puede consultar la documentación de este suceso, aqui

GRANT ALL PRIVILEGES ON db.* TO david@'192.58.197.0/255.255.255.0';
 {acceso a david desde cualquier ip en el rango}
GRANT ALL PRIVILEGES ON db.* TO david@'192.58.197.5';
 {acceso a david únicamente desde 192.58.197.5}
GRANT ALL PRIVILEGES ON db.* TO ''@%; 
 {acceso a cualquier persona desde cualquier lugar} 

El script para mysql quedaría asi:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'david'@'192.58.197.5
' IDENTIFIED BY 'esparragos' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)



De esta forma solo basta con acceder al servidor directamente y modificar los permisos, o consultar las IP y cambiar la mascara de la IP en nuestra maquina.

sds.

sábado, 2 de abril de 2011

Heredar permisos en subcarpetas (CHMOD)

Con ayuda de este sitio

me dí a la tarea de revisar un poco y esta linea me ha resuelto el problema de asignar los mismos permisos a la carpeta public y a todo su contenido, cabe recordar que en ubuntu server el super usuario se accede mediante sudo

sudo chown -R nombredepropietario.nombredegrupo /home/public/

saludos ... :)