Lim
13-09-2008, 08:19
Sto sviluppando un semplice script PHP per un mio amico.
Questo script deve interagire con un DB in Access 2007 e dopo aver letto dei dati da un file testuale, li deve caricare in apposite tabelle.
Il problema è che i nomi di alcune colonne hanno gli spazi (un esempio è "NOME IMPIANTO").
Mi ritorna sempre un errore quando cerco di caricare dati in questo tipo di colonne (a dir la verità succede anche con altre colonne che hanno gli _ al posto degli spazi...)
Ho cercato a lungo in rete qualche soluzione, ma senza risultati.
Ecco il messaggio di errore:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.' in F:\AppServ\www\jek\parser2.php:426 Stack trace: #0 F:\AppServ\www\jek\parser2.php(426): com->execute('INSERT INTO imp...') #1 F:\AppServ\www\jek\parser2.php(494): parser('001.xml') #2 {main} thrown in F:\AppServ\www\jek\parser2.php on line 426
Ho provato a risolvere omettendo la lista dei nomi dei campi da inserire, usando un comando di questo tipo:
INSERT INTO impianti VALUES('dato1','dato2','dato3')
In questo modo funziona, solo che non incrementa automaticamente il campo chiave e devo farlo io a mano inserendo nella lista dei VALORI il giusto numero incrementato. Preferirei che lo facesse automaticamente...
Inoltre restituisce un diverso messaggio di errore (ma l'inserimento lo fa lo stesso...)
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> ADODB.Recordset<br/><b>Description:</b> L'operazione non � consentita se l'oggetto � chiuso.' in F:\AppServ\www\jek\parser2.php:431 Stack trace: #0 F:\AppServ\www\jek\parser2.php(431): parser() #1 F:\AppServ\www\jek\parser2.php(494): parser('001.xml') #2 {main} thrown in F:\AppServ\www\jek\parser2.php on line 431
Da cosa può dipendere? qualcuno ha idee?:muro: :help:
Questo script deve interagire con un DB in Access 2007 e dopo aver letto dei dati da un file testuale, li deve caricare in apposite tabelle.
Il problema è che i nomi di alcune colonne hanno gli spazi (un esempio è "NOME IMPIANTO").
Mi ritorna sempre un errore quando cerco di caricare dati in questo tipo di colonne (a dir la verità succede anche con altre colonne che hanno gli _ al posto degli spazi...)
Ho cercato a lungo in rete qualche soluzione, ma senza risultati.
Ecco il messaggio di errore:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.' in F:\AppServ\www\jek\parser2.php:426 Stack trace: #0 F:\AppServ\www\jek\parser2.php(426): com->execute('INSERT INTO imp...') #1 F:\AppServ\www\jek\parser2.php(494): parser('001.xml') #2 {main} thrown in F:\AppServ\www\jek\parser2.php on line 426
Ho provato a risolvere omettendo la lista dei nomi dei campi da inserire, usando un comando di questo tipo:
INSERT INTO impianti VALUES('dato1','dato2','dato3')
In questo modo funziona, solo che non incrementa automaticamente il campo chiave e devo farlo io a mano inserendo nella lista dei VALORI il giusto numero incrementato. Preferirei che lo facesse automaticamente...
Inoltre restituisce un diverso messaggio di errore (ma l'inserimento lo fa lo stesso...)
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> ADODB.Recordset<br/><b>Description:</b> L'operazione non � consentita se l'oggetto � chiuso.' in F:\AppServ\www\jek\parser2.php:431 Stack trace: #0 F:\AppServ\www\jek\parser2.php(431): parser() #1 F:\AppServ\www\jek\parser2.php(494): parser('001.xml') #2 {main} thrown in F:\AppServ\www\jek\parser2.php on line 431
Da cosa può dipendere? qualcuno ha idee?:muro: :help: