Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Da htm in access tramite asp

    Ciao.

    Ho una pagina web con estensione htm che contiene del testo di questo tipo:

    codice:
    NODO    TIPO_ELEMENTO COD_ELEMENTO      COD_UNITA_PROP          DESC_TIPO_ATT   DATA	   STATO
    ACQ	NXd	      ET LK001236490	XDA7-15	                Estintori	01/01/06   PR
    Vorrei importarli all'interno di un db access tramite asp, come posso fare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao fraude,

    la pagina con estensione htm contiene solo quel testo oppure c'è anche dell'html? Insomma quello che hai scritto è il testo contenuto nel file o quello che appare nel browser?
    Una bulk insert con access non si può fare...
    Potresti accedere al file htm con un driver di testo
    codice:
    DirectoryTxt = Server.MapPath("/cartelladovesitrovailfile/")
    strConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & DirectoryTxt & ";Extensions=asc,csv,tab,txt,htm"
    Set ConnTxt = CreateObject("ADODB.Connection")
    ConnTxt.Open strConn
    nella cartella dove si trova il file devi mettere un file schema.ini tipo questo
    codice:
    [dati.htm]
    ColNameHeader=True
    Format=TabDelimited
    MaxScanRows=50000

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Bentrovato Willybit ed auguri!

    La pagina con estensione htm contiene solo ciò che ho postato, quindi nulla di html.

    Il processo dovrebbe essere upload sul server del file htm (questo è ok) e scrittura dei dati in esso contenuti all'interno di un db access.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    auguri anche a te
    hai provato col metodo che t'ho proposto sopra?
    codice:
    strAccessDB = Server.MapPath("dbAccess.mdb")
    Set Conn = CreateObject("ADODB.Connection")
    strCon = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & strAccessDB
    Conn.Open strCon
    DirectoryTxt = Server.MapPath("/cartellachecontieneilfilehtm/")
    strConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & DirectoryTxt & ";Extensions=asc,csv,tab,txt,htm"
    Set ConnTxt = CreateObject("ADODB.Connection")
    ConnTxt.Open strConn
    query = "SELECT * FROM paginadati.htm"
    set rs = CreateObject("ADODB.Recordset")
    rs.Open query,ConnTxt,3,3
    do while not rs.EOF
    	sql = "INSERT INTO NomeTabella (NomeCampo1,NomeCampo2,NomeCampo3,NomeCampo4,NomeCampo5,...) VALUES (" 
    	sql = sql & ",'" & replace(rs("Campo1"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("Campo2"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("Campo3"),"'","''") & "',"
    	....
    	Conn.Execute sql
    	rs.MoveNext
    loop
    rs.Close
    set rs = Nothing
    ConnTxt.Close
    set ConnTxt = Nothing
    Conn.Close
    set Conn = Nothing

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Si ho provato, ma restituisce questo:
    Error Type:
    ADODB.Recordset (0x800A0CC1)
    Item cannot be found in the collection corresponding to the requested name or ordinal.
    In corrispondenza della query:
    codice:
    do while not rs.EOF
    	sql = "INSERT INTO Tabella (NODO, COD_TIPO_ELEMENTO, COD_ELEMENTO, COD_UNITA_PROP, DESC_TIPO_ATT, DATA_PIANIFICATA, STATO) VALUES (" 
    	sql = sql & ",'" & replace(rs("NODO"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("COD_TIPO_ELEMENTO"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("COD_ELEMENTO"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("COD_UNITA_PROP"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("DESC_TIPO_ATT"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("DATA_PIANIFICATA"),"'","''") & "',"
    	sql = sql & ",'" & replace(rs("STATO"),"'","''") & "'"
    
    	Conn.Execute sql
    	rs.MoveNext
    loop

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Un nome campo è errato.

    Roby

  7. #7
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Roby_72
    Un nome campo è errato.

    Roby
    Grazie Roby, ho già controllato i nomi dei campi nella tabella sono quelli che ho postato... secondo me non apre il file htm...

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    hai messo il file schema.ini nella cartella dove si trova il file htm?
    codice:
    [dati.htm]
    ColNameHeader=True
    Format=TabDelimited
    MaxScanRows=50000
    le colonne corrispondono?

  9. #9
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    OK il file schema che ho salvato con estensione ini era rimasto comunque come txt... ho modificato l'estensione manualmente ed adesso va... tranne che nella query trovo le virgole raddoppiate... :master:

    codice:
    VALUES (,'ACQ',,'NX',,'ET DM00006490',,'MBA1-00',,'Estintori',,#1/1/2006#,,'PR')

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Infatti ci sono due volte... a fine riga e ad inizio riga...

    Roby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.