[Python] Python e ms access

giorgio g.climb a tiscali.it
Gio 16 Apr 2009 15:18:40 CEST


Ciao a tutti,


devo leggere e creare una tabella in un db esistente di  ms access.

Per leggere i dati:

 s = odbc.odbc('dbodbc')	# mi collego al DSN
 cur = s.cursor()

cur.execute("select STORICO.COD_ANAG,STORICO.DAT_STOR,STORICO.COD_CAU1,\
                      STORICO.THM_ORA_1,STORICO.COD_CAU2,\
                      STORICO.THM_ORA_2,ANAG.DES_ANAG\
                      from STORICO inner join ANAG on STORICO.COD_ANAG=ANAG.COD_ANAG\
                      where STORICO.DAT_STOR >=  ? and STORICO.DAT_STOR <= ?\
                      order by STORICO.COD_ANAG,STORICO.DAT_STOR",\
                      (self.dtx_reg_ini,self.dtx_reg_fin,))
 rec = cur.fetchall()


recuperati i dati devo creare e popolare una tabella, sempre in ms access:



 #se esiste distrugge la tabella 
  try:       
         cur.execute("DROP TABLE stm")
  except:
         print "La tabella stm non esiste!"    
 #crea tabelle stm        
   cur.execute("CREATE TABLE stm (\
                           id int(2) NOT NULL auto_increment,\
                           cod char(10)  value '',\
                           dattim char(8)  value '',\
                           causa char(4) value '',\
                           ore char(4) value ' ',\
                           causaex char(4)  value '',\
                           oreex char(4)  value '',\
                           nome char(30)  value '',\
                           PRIMARY KEY (id),\
                           )")


quì cominciano i problemi:

1- non distrugge la tabella stm, infatti esegue l'istruzione except
2-lo script si arresta con il seguente errore:
   Traceback (most recent call last):
   File "C:\Python24\Lib\site-packages\WCronos.py", line 171, in OnOkButton
    cur.execute("CREATE TABLE stm (\
   dbi.program-error: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione 
   CREATE TABLE. in EXEC


Qualcuno conosce la sintassi giusta per i comandi DROP e CREATE per i driver ODBC per msaccess?


Grazie.



 giorgio                           



Maggiori informazioni sulla lista Python