persiste problema con consulta a dbf

Ernesto Revilla erny en sicem.biz
Jue Ene 13 21:18:33 CET 2005


Buenas,

Puede ser que el motor Jet lo abre de sólo lectura (aparentemente 
depende del Service Pack del motor Jet instalado)

Encuentro esto en la Web:
http://support.microsoft.com/kb/180105/en-us

Si no, puede que el motor Jet no sabe cuál es la llave primaria de la 
tabla. Lo que puedes probar si tienes Access instalado de casualidad, 
vincular el archivo DBF como tabla dentro de Access y ver si Access 
permite modificarlo.

Erny


Carlos Edurado Sotelo Pinto escribió:

> hola lista
> probe cambiando el odbc por al adodbapi... y segui con el mismo error:
> le envio el codigo completo de una secuencia que realize en un a 
> mauiqna con window 98, el detalle es que funciono en win2000 y win xp
>
> >>> StringDBF = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
> Source=C:\Sisges\Desarrollo\dbf;Extended Properties=dBASE IV;User 
> ID=Admin;Password="
> >>> StringDBF
> 'Provider=Microsoft.Jet.OLEDB.4.0;Data 
> Source=C:\\Sisges\\Desarrollo\\dbf;Extended Properties=dBASE IV;User 
> ID=Admin;Password='
> >>> import adodbapi
> >>> ADOConn = adodbapi.connect(StringDBF)
> >>> ADOCurr=ADOConn.cursor()
> >>> dir(ADOCurr)
> ['__doc__', '__init__', '__module__', '_fetch', 
> '_makeDescriptionFromRS', '_raiseCursorError', 
> '_returnADOCommandParameters', 'arraysize', 'callproc', 'close', 
> 'conn', 'description', 'errorhandler', 'execute', 'executeHelper', 
> 'executemany', 'fetchall', 'fetchmany', 'fetchone', 'messages', 
> 'nextset', 'rowcount', 'rs', 'setinputsizes', 'setoutputsize']
> >>> SQLQuery = 'UPDATE panexo set valida = "T"'
> >>> ADOCurr.execute(SQLQuery)
> Traceback (most recent call last):
>  File "<pyshell#7>", line 1, in ?
>    ADOCurr.execute(SQLQuery)
>  File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 592, 
> in execute
>    self.executeHelper(operation,0,parameters)
>  File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 552, 
> in executeHelper
>    self._raiseCursorError(DatabaseError,tracebackhistory)
>  File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 407, 
> in _raiseCursorError
>    eh(self.conn,self,errorclass,errorvalue)
>  File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 38, 
> in standardErrorHandler
>    raise errorclass(errorvalue)
> DatabaseError:
> -----------
> Strategy 1: Traceback:Traceback (most recent call last):
>   File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 540, 
> in executeHelper
>    adoRetVal=self.cmd.Execute()
>   File "<COMObject ADODB.Command>", line 2, in Execute
>   File "C:\PYTHON23\Lib\site-packages\win32com\client\dynamic.py", 
> line 251, in _ApplyTypes_
>    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, 
> argTypes) + args)
> com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, 
> 'Microsoft JET Database Engine', 'La operaci\xf3n debe usar una 
> consulta actualizable.', None, 5003073, -2147467259), None)
>
>
> -----------
> Strategy 2: Traceback:Traceback (most recent call last):
>   File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 540, 
> in executeHelper
>    adoRetVal=self.cmd.Execute()
>   File "<COMObject ADODB.Command>", line 2, in Execute
>   File "C:\PYTHON23\Lib\site-packages\win32com\client\dynamic.py", 
> line 251, in _ApplyTypes_
>    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, 
> argTypes) + args)
> com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, 
> 'Microsoft JET Database Engine', 'La operaci\xf3n debe usar una 
> consulta actualizable.', None, 5003073, -2147467259), None)
>
>
> -----------
> Strategy 3: Traceback:Traceback (most recent call last):
>   File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 540, 
> in executeHelper
>    adoRetVal=self.cmd.Execute()
>   File "<COMObject ADODB.Command>", line 2, in Execute
>   File "C:\PYTHON23\Lib\site-packages\win32com\client\dynamic.py", 
> line 251, in _ApplyTypes_
>    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, 
> argTypes) + args)
> com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, 
> 'Microsoft JET Database Engine', 'La operaci\xf3n debe usar una 
> consulta actualizable.', None, 5003073, -2147467259), None)
>
>
> -----------
> Strategy 4: Traceback:Traceback (most recent call last):
>   File "C:\PYTHON23\lib\site-packages\adodbapi\adodbapi.py", line 540, 
> in executeHelper
>    adoRetVal=self.cmd.Execute()
>   File "<COMObject ADODB.Command>", line 2, in Execute
>   File "C:\PYTHON23\Lib\site-packages\win32com\client\dynamic.py", 
> line 251, in _ApplyTypes_
>    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, 
> argTypes) + args)
> com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, 
> 'Microsoft JET Database Engine', 'La operaci\xf3n debe usar una 
> consulta actualizable.', None, 5003073, -2147467259), None)
>
> --- ADODBAPI on command:UPDATE panexo set valida = "T" with 
> parameters: None
> >>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>


-- 
Ernesto Revilla
sicem sl
Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13
18220 Albolote
http://www.sicem.biz
Tel: 637 716189
MSN: aerd en mx3.redestb.es
ICQ: 163888521



---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0502-2, 11/01/2005
Comprobado en: 13/01/2005 21:18:35
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com




Más información sobre la lista de distribución Python-es