ACCESO A BASE DE DATOS DE OPEN OFFICE
Publicado: 19 Feb 2009, 11:28
¡Hola a todos!
Continuo usando autoit para facilitarme la vida laboral. Ahora me encuentro con el siguiente problema. Os muestro primero el código:
Tras navegar y ver algunas cosas pensé que usando la SQLITE podría hacer una simple consulta de una de las tablas de mi base de datos. El script comienza abriendo la base de datos de la cual le doy la ruta. La función, supuestamente, me devuelve un handle correcto. Posteriormente pruebo a realizar una simple select y el script me devuelve el siguiente error:
! SQLite.au3 Error
--> Function: _SQLite_GetTable2d or _SQLite_QuerySingleRow or _SQLite_Exec
--> Query: Select * From T_MAILS;
--> Error: file is encrypted or is not a database
Mi pregunta obviamente no es qué ocurre (se algo de inglés) sino si alguien ha intentado acceder a una base de datos de openoffice usando autoit.
SALUDOS
Continuo usando autoit para facilitarme la vida laboral. Ahora me encuentro con el siguiente problema. Os muestro primero el código:
Código: Seleccionar todo
#include <SQLite.au3>
#include <SQLite.dll.au3>
Local $hQuery,$aRow
_SQLite_Startup ()
If @error > 0 Then
MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
Exit - 1
EndIf
ConsoleWrite("_SQLite_LibVersion=" &_SQLite_LibVersion() & @CR)
$handle_bbdd = _SQLite_Open ("C:\yo\programas\gespro\gespro.odb") ; Open a :memory: database
If @error > 0 Then
MsgBox(16, "SQLite Error", "Can't Load Database!")
Exit - 1
EndIf
MsgBox(0,"BASE DE DATOS ABIERTA",$handle_bbdd)
$d = _SQLite_Exec($handle_bbdd,"Select * From " & "T_MAILS;","_cb") ; _cb Will be called for each row
Func _cb($aRow)
For $s In $aRow
ConsoleWrite($s & @TAB)
Next
ConsoleWrite(@LF)
; Return $SQLITE_ABORT ; Would Abort the process and trigger an @error in _SQLite_Exec()
EndFunc
_SQLite_Close ()
_SQLite_Shutdown ()
! SQLite.au3 Error
--> Function: _SQLite_GetTable2d or _SQLite_QuerySingleRow or _SQLite_Exec
--> Query: Select * From T_MAILS;
--> Error: file is encrypted or is not a database
Mi pregunta obviamente no es qué ocurre (se algo de inglés) sino si alguien ha intentado acceder a una base de datos de openoffice usando autoit.
SALUDOS