Re: [Python-es] Ayuda con pyodbc
2014-12-11 18:19 GMT+00:00 jose villalba cortazzo < josemariavillalbacorta...@hotmail.com>: > Estimados a que se debe este error "ProgrammingError: No results. > Previous SQL was not a query.". En Windows no tengo el problema pero en > Centos 7 si lo tengo. Trabajo con una base de datos access y tengo instalo MDB > Tools. > > consulta = "SELECT l2.idlocal as localid from locales as l, locales as l2 > WHERE l.idlocal=%d and l.departamento=l2.departamento and > l.numero=l2.comparte" % idlocal >idcomparte = ejecutor_idlocal.ejecutar(consulta) > > Hasta donde recuerdo, MDBTools no permitía ese doble "as" para la misma tabla, entre otros usos semánticos que no soporta. ODBC en windows es un driver natico access, por lo que sí te funciona, pero MDBtools no. Además, esa consulta debería hacerse mediante un join. Si quieres acelerarla, crea una vista en access que te devuelva los datos del join, y simplemente filtra y/o ordena, o incluso deja que la vista te ordene (en este caso no necesitas hacer más que el filtrado del primer WHERE). La vista te funcionará internamente y no deberías tener problemas con MDBTools. Saludos Alberto > > Saludos, > José Villalba > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Ayuda con pyodbc
Buenas, en primer lugar creo que lo ideal sería que probaras la consulta en local antes de componerla con parámetros y a partir de entonces empieces a configurar la parametrización. ProgrammingError: No results. Previous SQL was not a query. Leyendo el error y sin saber a que base de datos te conectas ni ninguna otra información parece que la consulta no está bien formateada y no es interpretable por el motor de base de datos. Al margen, te recomiendo que dado que escribes a una lista de correo pidiendo ayuda, ten un mínimo de consideración formateando el código que envias. Un saludo y ánimo. On Thu, Dec 11, 2014 at 7:19 PM, jose villalba cortazzo < josemariavillalbacorta...@hotmail.com> wrote: > Estimados a que se debe este error "ProgrammingError: No results. > Previous SQL was not a query.". En Windows no tengo el problema pero en > Centos 7 si lo tengo. Trabajo con una base de datos access y tengo instalo MDB > Tools. > > consulta = "SELECT l2.idlocal as localid from locales as l, locales as l2 > WHERE l.idlocal=%d and l.departamento=l2.departamento and > l.numero=l2.comparte" % idlocal >idcomparte = ejecutor_idlocal.ejecutar(consulta) > > > Saludos, > José Villalba > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Ayuda con pyodbc
En otras consultas tuve el mismo error y lo corregi eliminando de la consulta el "ORDER BY", sera que el drivers para linux de Pyodbc no permite ese tipo de ordenes? Saludos,José Villalba Date: Fri, 12 Dec 2014 14:41:32 +0100 From: pych...@gmail.com To: python-es@python.org Subject: Re: [Python-es] Ayuda con pyodbc El 2014-12-11 19:19 GMT+01:00 jose villalba cortazzo : Estimados a que se debe este error "ProgrammingError: No results. Previous SQL was not a query.". En Windows no tengo el problema pero en Centos 7 si lo tengo. Trabajo con una base de datos access y tengo instalo MDB Tools. consulta = "SELECT l2.idlocal as localid from locales as l, locales as l2 WHERE l.idlocal=%d and l.departamento=l2.departamento and l.numero=l2.comparte" % idlocal idcomparte = ejecutor_idlocal.ejecutar(consulta) Evidentemente, algo está mal en la query. Intenta probar con queries más sencillas (pe: quita los alias y/o no los crees con 'as'). Que te funcione en windows no nos dice nada ya que son drivers ODBC distintos. Danos algo más de información que pueda servirnos de pista: cadena de conexión, qué SQL has generado, el código que "ejecuta" la query, etc. Por cierto, nunca deberías construir la SQL "literalmente". Utiliza siempre que puedas argumentos. Saludos,José Villalba ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Ayuda con pyodbc
El 2014-12-11 19:19 GMT+01:00 jose villalba cortazzo < josemariavillalbacorta...@hotmail.com>: > > Estimados a que se debe este error "ProgrammingError: No results. > Previous SQL was not a query.". En Windows no tengo el problema pero en > Centos 7 si lo tengo. Trabajo con una base de datos access y tengo instalo MDB > Tools. > > consulta = "SELECT l2.idlocal as localid from locales as l, locales as l2 > WHERE l.idlocal=%d and l.departamento=l2.departamento and > l.numero=l2.comparte" % idlocal >idcomparte = ejecutor_idlocal.ejecutar(consulta) > > Evidentemente, algo está mal en la query. Intenta probar con queries más sencillas (pe: quita los alias y/o no los crees con 'as'). Que te funcione en windows no nos dice nada ya que son drivers ODBC distintos. Danos algo más de información que pueda servirnos de pista: cadena de conexión, qué SQL has generado, el código que "ejecuta" la query, etc. Por cierto, nunca deberías construir la SQL "literalmente". Utiliza siempre que puedas argumentos. > > Saludos, > José Villalba > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Ayuda con pyodbc
Estimados a que se debe este error "ProgrammingError: No results. Previous SQL was not a query.". En Windows no tengo el problema pero en Centos 7 si lo tengo. Trabajo con una base de datos access y tengo instalo MDB Tools. consulta = "SELECT l2.idlocal as localid from locales as l, locales as l2 WHERE l.idlocal=%d and l.departamento=l2.departamento and l.numero=l2.comparte" % idlocal idcomparte = ejecutor_idlocal.ejecutar(consulta) Saludos,José Villalba ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/