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