Re: Problema con Debian, C y MySQL
Hola, ha resultado ser desbordamiento en la cadena de caracteres. El problema estaba en que hay que vaciar la cadena con strcpy(cadena,"") al comenzar cada interaccion y luego ir añadiendo las partes d cadena con strcat. Estoy mirando con phpmysql y los datos introducidos parecen ser los correctos. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/ca+hdpf+fk-u4ywxhcknzzekzrjbc2f6kvugh4t8ihypy1gw...@mail.gmail.com
Re: Problema con Debian, C y MySQL
- Original Message - From: "Antonio Galicia" To: "Altair Linux" Cc: "Debian User Spanish" Sent: Wednesday, December 26, 2012 1:17 PM Subject: Re: Problema con Debian, C y MySQL 2012/12/26 Altair Linux Problema, estoy viendo que el uso continuo de esas funciones de esa forma produce un segmentation fault. Es un bucle anidado de 1000x1000 y salta por los aires en el 99. Recuerdo haber leido, y para colmo no ¿Puedes mostrar el código que estás usando y cómo lo estás compilando? No has probado la misma sentencia en otros motores. Por ejemplo Firebird o PostgreSQL Saludos = || ISMAEL || = -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/62df763688334233bc3832c96a805...@eicc.citricos.cu
Re: Problema con Debian, C y MySQL
2012/12/26 Altair Linux > Problema, estoy viendo que el uso continuo de esas funciones de esa > forma produce un segmentation fault. Es un bucle anidado de 1000x1000 > y salta por los aires en el 99. Recuerdo haber leido, y para colmo no ¿Puedes mostrar el código que estás usando y cómo lo estás compilando? -- Saludos, PP Ofertas y descuentos en http://gplia.com/C4kls Más ofertas en http://www.groupon.com.mx/in/.gG7NHg?nlp Y mas http://www.clickonero.com.mx/?ref=d2rztcyxm9r -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAGYn=y1xoco0tnlus5l1vjhpmhvl_loavxdc2hwv4j6f3xd...@mail.gmail.com
Re: Problema con Debian, C y MySQL
El día 26 de diciembre de 2012 17:16, Altair Linux escribió: > Tomo nota, pero parece que el error se produce al usar las funciones > strcat y strcpy dentro del bucle. Pues lo mas probable es que sea ahí. strcat y strcpy reciben un puntero a una cadena destino que debe ser lo bastante larga para contener lo que se añade o copia. (Con que en algún caso no hayas finalizado una cadena con '\0' se te producirá el desbordamiento.) > > En los ejemplos de esa web el parametro de mysql_query tambien es una > cadena de caracteres. Esto me choca porque evidentemente mysql acepta > tipos de datos numericos. > > Puede que sea una tonteria, pero he pensado que puede ser un problema > de velocidad, quiza las funciones de string.h se ejecutan demasiado > rapido y por eso el programa da segmentation fault. Quiza el tema este > en que de una ejecucion a otra tengan que pasar, por ejemplo, 5 > segundos de pausa. No creo... S2 > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org > Archive: > http://lists.debian.org/CA+HdPf+U6CEgAH2cSsZcOwSQaFP6Op6=pg6ux7f+ijonohd...@mail.gmail.com > -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAGw=rhgugvywl80p4js24b7rhxd1zew0g1ouoqjhpzq__es...@mail.gmail.com
Re: Problema con Debian, C y MySQL
Tomo nota, pero parece que el error se produce al usar las funciones strcat y strcpy dentro del bucle. En los ejemplos de esa web el parametro de mysql_query tambien es una cadena de caracteres. Esto me choca porque evidentemente mysql acepta tipos de datos numericos. Puede que sea una tonteria, pero he pensado que puede ser un problema de velocidad, quiza las funciones de string.h se ejecutan demasiado rapido y por eso el programa da segmentation fault. Quiza el tema este en que de una ejecucion a otra tengan que pasar, por ejemplo, 5 segundos de pausa. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CA+HdPf+U6CEgAH2cSsZcOwSQaFP6Op6=pg6ux7f+ijonohd...@mail.gmail.com
Re: Problema con Debian, C y MySQL
Capaz te sirve: http://www.cs.wichita.edu/~chang/lecture/cs742/program/how-mysql-c-api.html slds. El 26 de diciembre de 2012 15:28, Altair Linux escribió: > La codificacion no parece ser el origen del problema, hice dos > pequeños programas en C explicitamente para probarla y no dan > problemas. > > Por otra parte, el ejemplo que has puesto no se si me sirve. El > problema es meter datos numericos (int o char, principalmente) desde > el programa en C a MySQL, y realizar lo mismo pero al reves. La salida > del comando enc, segun entiendo lo que veo en man, es una cadena de > texto, lo que me deja con las mismas. > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: > http://lists.debian.org/ca+hdpfjdrsezzs2kgu2pbtzte0iswqhyvwck-c1xztd9fec...@mail.gmail.com > >
Re: Problema con Debian, C y MySQL
La codificacion no parece ser el origen del problema, hice dos pequeños programas en C explicitamente para probarla y no dan problemas. Por otra parte, el ejemplo que has puesto no se si me sirve. El problema es meter datos numericos (int o char, principalmente) desde el programa en C a MySQL, y realizar lo mismo pero al reves. La salida del comando enc, segun entiendo lo que veo en man, es una cadena de texto, lo que me deja con las mismas. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/ca+hdpfjdrsezzs2kgu2pbtzte0iswqhyvwck-c1xztd9fec...@mail.gmail.com
Re: Problema con Debian, C y MySQL
Se me ocurre posiblemente una posible codificación sobre la cadena es decir: trabajar sobre longint posiblemente. ejemplo burdo: echo "cadena" | sha1sum 8ab5f7ef21630a3e961196f8483639101bf59629 enc(8ab5f7ef21630a3e961196f8483639101bf59629) => retorna un coding binario u algo especifico que pueda caber en 4 bytes de longint. para solo procesar numeros. quiza sea muy volado pero bueno. dec(binario) => 8ab5f7ef21630a3e961196f8483639101bf5962 slds. El 26 de diciembre de 2012 15:06, Altair Linux escribió: > Buenas, > > estoy haciendo un programa en lenguaje C (de momento no uso C++) y > estoy usando el conector de C que tiene MySQL. El problema viene con > que uso gran cantidad de datos que son numeros (int y char) y la > función mysql_query del conector sólo acepta cadenas de texto. > > Probando, he encontrado una forma de convertir de int a char y de char > a int, que parecen funcionar bien, para formar la cadena de texto que > se necesita como parámetro para myql_query estoy usando la función > strcat, de esa forma formo la cadena de texto final a base de partes > de texto. > > Problema, estoy viendo que el uso continuo de esas funciones de esa > forma produce un segmentation fault. Es un bucle anidado de 1000x1000 > y salta por los aires en el 99. Recuerdo haber leido, y para colmo no > me acuerdo donde, que las funciones de string,h hay que usarlas con > moderacion por algun motivo. Viendo la dorucmentacion del conector, la > funcion mysql_query parece la unica para las ordenes a la base de > datos PERO solo acepta texto. Entonces, ¿que usar para enviar y > recibir numeros, sean int o char? > > Estoy usando Debian estable, con MySQL y gcc. > > La documentacion de la api para C esta aqui > http://dev.mysql.com/doc/refman/5.1/en/c-api-function-overview.html > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: > http://lists.debian.org/ca+hdpf+bek1i5iw8ik3judcjd4obtvc9_kvuln5vfvhnfc...@mail.gmail.com > >