[pyar] Ayuda con MS SQL

Maximiliano Robaina maxi_robaina en yahoo.com.ar
Jue Feb 24 12:28:50 ART 2011


El jue, 24-02-2011 a las 12:21 -0300, Luis A. Garcia escribió:
> Hola Lista:
> 
> Tengo un problema que no puedo resolver :
> 
> Tengo este script:
> 
> # Defino Registro Clase (reg)
> class reg(object):
>       def __init__(self, cursor, registro):
>             for (attr, val) in zip((d[0] for d in cursor.description), 
> registro):
>                   setattr(self, attr, val)
> 
> # conexion Bases
> conn = pymssql.connect(host='localHost', user='gif_user', 
> password='tecnob538', database='web_gif')
> cursor = conn.cursor()
> compraventa = 'V'
> IdTipoComprobante = 10
> 
> # cursor
> cursor.execute('insert into Comprobante values(%s, %s)' % \
>         (compraventa, IdTipoComprobante))
> conn.commit()
> 
> 
> y me da este error,
> 
> Traceback (most recent call last):
>   File "C:/Tecnobrain/Python/dev/Sk-Gif/sql1.py", line 15, in <module>
>     (compraventa, IdTipoComprobante))
>   File "C:\Python26\lib\site-packages\pymssql.py", line 196, in execute
>     raise OperationalError, e[0]
> OperationalError: SQL Server message 128, severity 15, state 1, line 1:
> El nombre 'V' no es válido en este contexto. Sólo se permiten constantes, 
> expresiones o variables. No se permiten nombres de columna.

Porque seguramente el insert se está generando como:

INSERT INTO COMPROBANTE VALUES V, 10

y debería ser:

INSERT INTO COMPROBANTE VALUES 'V', 10


¿Te das cuenta el problema?

saludos.

-- 
Maximiliano Robaina

b: http://maxirobaina.tumblr.com
t: http://twitter.com/maxirobaina




More information about the pyar mailing list