Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ^Tifa^

#601
TOAD es de paga, pero hay una version freeware para MySQL. Donde la limitacion es muy reducida, el caso de Aqua Data Studio lo he descargado como precompilado por ende no he visto limitaciones de ningun tipo (Pero hace ya bastante tiempo, no se si habra cambiado).

Espero que alguno te sirva  ;)
#602
Como dice Novlucker, cada usuario tiene conocimientos en alguna respectiva area  ;)
Y creo que son todos los mods muy buenos con sus respectivas areas. Lamentablemente no me paseo en todas las areas del foro solo en unas cuantas, y como bien dicen creo que muchos tienen muchas cosas que aportar.

De antemano, gracias a aquellos que me han mencionado  ;)
#603
Ok pero que consulta INSERT estas utilizando para insertar dicho dato??? Te funciona la misma consulta de INSERT que usas en tu codigo, si lo usaras de manera independiente? (En una shell del cliente MySQL)


Tambien ten pendiente (Si estas utilizando MySQL) que el tipo de dato NUMERIC es el mismo que DECIMAL (En el caso de este motor), por ende accepta numeros decimales precisos, no digo que tu error este en esta definicion... pero ya que quieres guardar un telefono con puros numeros te podria sugerir que consideres INTEGER que seria mas preciso en estas circunstancias o  BINARY (Que es lo mismo que CHAR a diferencia que guarda y lee los datos como binarios, en vez de caracteres).
#604
De los que he visto (Que han sido pocos soy muy linea de comando). El mas amigable y facil de manejar es Aqua Data Studio :

http://www.aquafold.com/

Ahi podras ver screenshots y todo los demanes. Si quieres un modelador GUI de diagramas Entidad-Relacion para MySQL, puedes optar por el MySQL WorkBench

http://mysql-workbench.softonic.com/

Ahora, el que mas me ha gustado (Aunque no es tan amistoso como Aqua) es sin duda TOAD, la herramienta digamos mas popular entre los developers PL/SQL y muchisimos DBA de base de datos. Hay una version para MySQL de Toad disponible:

http://www.quest.com/toad-for-mysql/
#605
Bases de Datos / Re: rescatar mysql
10 Diciembre 2009, 04:30 AM
SI dices que te faltan tablas es porque no se guardo del todo la data he indices correspondiente a esas tablas que se 'perdieron' (Al referirme a data he indices me refiero al archivo fisico que guarda esta informacion). Este efecto pudo haber sucedido cuando se rompio el servidor donde estaba xamp, se quedaron datos en el buffer que no llegaron a escribirse a disco fisicamente.. pero para darse esta eventualidad deberia haber estado, el estado autocommit en valor cero o desabilitado... sea cual sea la razon, este tipo de cosas suceden en falla de hardware y puedes perder datos por causa de ello.

Sobre backups automaticos, puedes crear un batch (Si estas en Windows) o un script bash (Si estas en Linux) y guardarlo en tareas programadas con una hora y un dia para realizar el backup. Puedes hacer un dumpeo con mysqldump (Mas o menos asi::)

mysqldump --opt  --user = tu_usuario  --password = contraseña  --all-databases > /directorio/backup.sql

Si eliges --all-databases se hara un backup de todos los esquemas disponibles donde el usuario especificado tenga permisos de lectura y lectura/escritura, sino quieres hacer esto y solo quieres hacer backup de 1 esquema (una base de datos y todas sus tablas) entonces en vez de --all-databases colocas el nombre del esquema en su lugar.

Mysqldump lo que hace es hacerte un archivo fisico de todas las estructura logica de las tablas que tengas creadas en dicho esquema o DB. Si quieres hacer algo mas solido (Copiar carpetas y archivos fisicos ) deberias dar uso de mysqlhotcopy (pero solo funciona en tablas con motor myisam y archive) y puede ser que tengas o uses en un futuro un motor transaccional.
#606
No trabajo con php (Si tu codigo es PHP) pero si con otros lenguajes scripting similares y con modulos o API C de mysql para el lenguaje correspondiente.

Tu sabes que cada modulo posee su correspondiente manejador de errores, en PHP por ejemplo para MySQL existe:

int mysql_errno(expresion)
Esta funcion (Que me parece que es la que buscas pero para SQLite) retorna el valor numerico del error en cuestion (Aunque desconozco si es el mismo valor del SQLSTATE error que lanza el motor de DB por cada accion de error), o si sencillamente retorna el valor numerico de error correspondiente a la funcion siguiente:

string mysql_error(expresion)
Esta funcion, presenta en pantalla el error retornado pero a modo texto...

Tu estas usando:

sqlite_error_string(sqlite_last_error($handle));

No programo en PHP que conste, pero como te dije estas llamando a la funcion string error en vez del int error, averigua cuantos error handling para SQLite posee el modulo de sqlite para PHP y como se llaman cada uno (Ya que pueden ser 2 como pueden ser mas).

Si lo anterior no te conviene o no encuentras una solucion, puedes optar por crear funciones almacenadas dentro de SQLite, y que estas te retornen 1 valor acorde a cada error que quieras utilizar para lanzar tu mensaje. Asi si usas funciones y le pasas X parametro sino encuentra lo que busca puedes dar uso de los errores SQLSTATE del motor y retornar acorde a X valor dentro de la funcion, y ese valor puedes usarlo en tu codigo como quieres hacer y por cada error lanzar un mensaje distinto... no se si me explico  :-\

Suponte que dentro del motor SQLite haces una funcion almacenada mas o menos asi:

create function ejemplo(parametro in char)
begin
select * from parametro;
exception:
when 4095 then
return 1
when 4096 then
return 2
end;

Donde supongamos que 4095 es el SQLSTATE error cuando no existe una tabla, y el 4096 es el SQLSTATE error de digamos no tienes permisos para ver esta tabla por ejemplo.

Y suponte que en tu codigo php tienes algo asi:

case 1 :
echo "No existe la tabla"
break;
echo 2 :
echo "No tienes permisos de lectura en esa tabla"
break;

PD: Se que la sintaxis de ambos ejemplos esta pesima, es un mero ejemplo y no corresponde a un lenguaje de programacion real. Espero que se entienda mas o menos lo que intento exponer.
#607
 :D   :D   :D   :D   :D  Winder  :D   :D   :D   :D   :D   :D
#608
Bases de Datos / Re: rescatar mysql
8 Diciembre 2009, 18:50 PM
Depende.

No lo he hecho con Xampp o MySQL como tal, pero si he hecho algo similar con Oracle.

Si en el momento donde se danio el PC no se estaba realizando ningun tipo de transaccion en el motor MySQL, es bastante probable que te baste con copiar el directorio completo a otro PC y todo ira bien. Si se estaba haciendo una transaccion en dicho momento puede que se haya roto algo, pero eso tendrias que confirmarlo antes porque influye que motor de almacenamiento se estaba utilizando entre otras cosas.

#609
Bases de Datos / Re: HTTP CODE: 302!
8 Diciembre 2009, 13:35 PM
CitarTINYTEXT   256 bytes   
TEXT   65,535 bytes   ~64kb
MEDIUMTEXT    16,777,215 bytes   ~16MB
BIGTEXT   4,294,967,295 bytes   ~4GB

Esta es la longitud maxima de valores que soporta cada uno de los tipos de datos referentes a TEXT.

Independientemente del valor maximo que soporte en este caso LONGTEXT que longitud le diste al campo cuando lo creaste? porque si por ejemplo declaraste longtext asi:

Datos LONGTEXT(20)

Y insertas un dato mayor de 20 caracteres por ejemplo un dato de 50 caracteres, el motor lo que hara es cortar la informacion hasta que cuente 20 caracteres los otros 30 nada se pierden.
#610
Bases de Datos / Re: Dudas de consulta SQL
7 Diciembre 2009, 19:40 PM
Hola.

Desconozco a ciencia cierta en que se basaron para decirte que dar uso de 2 indices retardaria una consulta. Podria retardar retornarte valores por el mero hecho de que debe indagar mas registros para dar exactamente con lo que buscas pero, es preferible de antemano usarlos ante no usarlos. Sino usas consultas basando tu busquedad en indices el motor tendra que buscar en toda la data y todos los indices para encontrar lo que buscas, y si tu motor esta en Myisam por ejemplo es aun un poco mas mortificante porque la data se divide en 2 archivos terminados en MYD = Data y MYI = indices entonces la lectura va 1 linea del archivo data y saltar a 1 linea del archivo indice, y retornar a 1 linea del archivo data y saltar a leer 1 linea del archivo indice y asi sucesivamente hasta dar con el objetivo de tu busquedad, esto genera mucho I/O en el disco cuando se hacen busquedad sin indices. Sin embargo si filtras tu busquedad por indices al menos el optimizador del motor buscara exactamente en el archivo indice y cuando de con el resultado ya sabra exactamente que registro sacar del archivo data. (Aunque todo depende de que motor de DB estemos hablando y el motor de almacenamiento en cuestion) en este caso hablo de MySQL que es el que estas usando.

Otra consultita:
Un "PRIMARY", tambien funciona como INDICE?

Sip, los primary key te crean un indice en el campo que es PK.