Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Importazione CSV con ADO, problema limite 255 caratteri

    Ciao a tutti,
    ho il problema che importando un file CSV i campi che hanno più di 255 caratteri mi vengono troncati, come mai?

    La stringa di connesione è questa
    Codice PHP:
    strConn "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath(PathFileCSV) & ";Extended Properties=""Text;HDR=YES;IMEX=1;FMT=Delimited(;)""" 
    Una soluzione?
    grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    importando... dove, che intendi?

  3. #3
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    importando... dove, che intendi?
    importo il file csv con asp.upload, ma il problema è nella lettura dei records del csv (appunto importato sul server) con ADO...

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    la terminologia e i dettagli sono importanti, ricapitoliamo:

    fai l'upload di un file csv con AspUpload (persits)?

    poi che fai, leggi e stampi a video i valori? come procedi?

    hai verificato i valori presenti nel csv facendo un download? (immagino di si)

  5. #5
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    la terminologia e i dettagli sono importanti, ricapitoliamo:

    fai l'upload di un file csv con AspUpload (persits)?

    poi che fai, leggi e stampi a video i valori? come procedi?

    hai verificato i valori presenti nel csv facendo un download? (immagino di si)
    Giusto
    Si uso il componente Persits, poi leggo il file csv con ADO e ogni recordset lo vado ad inserire nel db mysql.
    I valori nel csv in alcuni casi superano i 255 caratteri, ma nel db vengono inseriti solo 225, nel db mysql i campi sono text

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    vedi se ti è utile

    http://www.html.it/pag/32145/tipi-di-dati/

    CHAR è una stringa di lunghezza fissa (M) riempita con spazi a destra al momento della memorizzazione, che vengono eliminati in fase di lettura. La lunghezza prevista va da 0 a 255 caratteri. L’opzione NATIONAL indica che la stringa deve usare il set di caratteri di default. L’attributo BINARY indica che deve essere usata la collation binaria del set di caratteri utilizzato. ASCII assegna il character set latin1, UNICODE assegna ucs2.
    CHAR BYTE equivale a CHAR BINARY. Notate che se una riga ha lunghezza variabile (cioè se almeno una colonna è definita a lunghezza variabile) qualsiasi campo CHAR di lunghezza superiore a 3 caratteri viene convertito in VARCHAR.
    VARCHAR è una stringa a lunghezza variabile; le sue caratteristiche sono variate a partire da MySQL 5.0.3: in precedenza infatti la lunghezza massima era 255 e gli spazi vuoti a destra venivano eliminati in fase di memorizzazione; ora invece ciò non avviene più e la lunghezza massima dichiarabile è salita a 65535 caratteri. Gli attributi NATIONAL e BINARY hanno lo stesso significato visto in CHAR. Se definite una colonna VARCHAR con meno di 4 caratteri sarà trasformata in CHAR.

  7. #7
    infatti non uso VARCHAR ma TEXT che può contenere fino a 65.535 caratteri...

    I formati di tipo BLOB e TEXT sono utilizzati rispettivamente per valori binari e di testo.
    La lunghezza massima è 255 caratteri per TINYBLOB e TINYTEXT, 65535 per BLOB e TEXT, 16.777.215 per MEDIUMBLOB e MEDIUMTEXT, 4 gigabyte per LONGBLOB e LONGTEXT.

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    prima di inserirli nel db hai provato a stamparli a video?

  9. #9
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    prima di inserirli nel db hai provato a stamparli a video?
    Si, ho provato vengono visualizzati a video solo i primi 255 caratteri..

  10. #10
    credo che la soluzione al problema sia qui https://support.microsoft.com/en-us/kb/281517
    Quindi se non ho capito male, è necessario che nei campi che potrebbero esserci più di 255 caratteri, devono essere dei testi per almeno le prime 8 righe del file...

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.