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

Discussione: Inserire dati binari

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183

    Inserire dati binari

    Ciao a tutti
    sto cercando di inserire i dati binari di un file uplodato
    li voglio inserire in sqlserver dentro un campo varchar max


    codice:
      'Ricavo il nome del file con percorso
      dim strFile
      strFile = mioFile.PostedFile.FileName
    
    
      'Ricavo il nome del file SENZA percorso
      Dim strNomeFile as string
      strNomeFile = System.IO.Path.GetFileName(strFile)
    
    
      dim strPercorsoFileUpload as string
      strPercorsoFileUpload = Server.mappath("~/public/test/")
      dim strMessaggioFinale as string
    
    
      'Effettuo UPLOAD con controllo errore
      Try
        mioFile.PostedFile.SaveAs( strPercorsoFileUpload & "" & strNomeFile)
    	
    	
    			dim sql as string=" insert into tblFiles (data) values ('"& strNomeFile &"'   )        "
    		dim objcmd2 as new oledbcommand (sql, objconn)
    		objcmd2.connection.open()
    		objcmd2.executenonquery()
    		objcmd2.connection.close()



    mi direste come si fa?


    Grazie
    victor
    ----------------------

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    ho provato cosi

    'Ricavo il nome del file con percorso dim strFile
    strFile = mioFile.PostedFile.FileName


    'Ricavo il nome del file SENZA percorso
    Dim strNomeFile as string
    strNomeFile = System.IO.Path.GetFileName(strFile)


    dim strPercorsoFileUpload as string
    strPercorsoFileUpload = Server.mappath("~/public/test/")
    dim strMessaggioFinale as string


    'Effettuo UPLOAD con controllo errore
    Try
    mioFile.PostedFile.SaveAs( strPercorsoFileUpload & "" & strNomeFile)


    dim sql as string=" insert into tblFiles (data) values ('"& strNomeFile &"' ) "
    dim objcmd2 as new oledbcommand (sql, objconn)
    objcmd2.connection.open()
    objcmd2.executenonquery()
    objcmd2.connection.close()

    data e' un campo varbinary

    pero' mi da questo errore

    System.Data.OleDb.OleDbException (0x80040E14): Implicit conversion from data type varchar to varbinary(max) is not allowed. Use the CONVERT function to run this query. at System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at ASP.public_test_upw_questo_va_bene_per_il_nome_del _file_aspx.caricaFile(Object Sender, EventArgs e)
    victor
    ----------------------

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    io in pratica riesco a fare l'upload del file.
    ma invece del upload vorrei che i dati binari di quel file venissero inseriti nel campo data

    grazie
    Ultima modifica di djciko; 06-07-2020 a 10:02
    victor
    ----------------------

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    ma tu stai inserendo una stringa (strNomeFile , il nome del file) invece del file vero...

    non ho provato, ma la insert che fa nell'esempio è questa (con il path del file):

    codice:
    INSERT INTO myTable(FileName, FileType, field_varbinary)
       SELECT 'Text1.txt' AS FileName,
          '.txt' AS FileType,
          * FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document
    GO

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    io sto provando in tutti i modi
    cosi mi carica il file dentro la mia directory text
    e mi mette il nome del file dentro il campo name

    Sub caricaFile(Sender as Object, e as EventArgs)

    'Ricavo il nome del file con percorso
    dim strFile
    strFile = mioFile.PostedFile.FileName

    'Ricavo il nome del file SENZA percorso
    Dim strNomeFile as string
    strNomeFile = System.IO.Path.GetFileName(strFile)

    dim strPercorsoFileUpload as string
    strPercorsoFileUpload = Server.mappath("~/public/test/")
    dim strMessaggioFinale as string

    'Effettuo UPLOAD con controllo errore
    Try
    mioFile.PostedFile.SaveAs( strPercorsoFileUpload & "" & strNomeFile)


    dim sql as string=" insert into tblFiles (name) values ('"& strNomeFile &"' ) "
    dim objcmd2 as new oledbcommand (sql, objconn)
    objcmd2.connection.open()
    objcmd2.executenonquery()
    objcmd2.connection.close()

    ora non so proprio come fare a mettere i dati binari del file dentro il campo date (varbinary)
    ho visto il tuo esempio ma non so come adattarlo
    grazie mille
    victor
    ----------------------

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    prima di tutto devi distinguere le due fasi.

    1) caricamento del file
    2) inserimento del file nel database

    la prima va a buon fine ? fa l'upload del file ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    Ciao
    allora si.

    Io riesco a caricare il file nella cartella text
    e contemporaneamente inserisco il nome del file nel campo name

    ecco tutto il codice

    Sub caricaFile(Sender as Object, e as EventArgs)

    'Ricavo il nome del file con percorso
    dim strFile
    strFile = mioFile.PostedFile.FileName

    'Ricavo il nome del file SENZA percorso
    Dim strNomeFile as string
    strNomeFile = System.IO.Path.GetFileName(strFile)

    dim strPercorsoFileUpload as string
    strPercorsoFileUpload = Server.mappath("~/public/test/")
    dim strMessaggioFinale as string

    'Effettuo UPLOAD con controllo errore
    Try
    mioFile.PostedFile.SaveAs( strPercorsoFileUpload & "" & strNomeFile)


    dim sql as string=" insert into tblFiles (name) values ('"& strNomeFile &"' ) "
    dim objcmd2 as new oledbcommand (sql, objconn)
    objcmd2.connection.open()
    objcmd2.executenonquery()
    objcmd2.connection.close()


    strMessaggioFinale = "Upload avvenuto correttamente."
    strMessaggioFinale = strMessaggioFinale & "Dati del file copiato:<br />"
    strMessaggioFinale = strMessaggioFinale & "Dimensione : " & mioFile.PostedFile.ContentLength & " bytes<br />"
    strMessaggioFinale = strMessaggioFinale & "Tipologia File : " & mioFile.PostedFile.ContentType & "<br />"
    strMessaggioFinale = strMessaggioFinale & "Percorso File : " & mioFile.PostedFile.FileName & "<br />"
    catch strEccezzione As Exception
    strMessaggioFinale = "Errore: UPLOAD FALLITO.<br />"
    strMessaggioFinale = strMessaggioFinale & strEccezzione.ToString
    End Try

    'Mostro esito upload a video
    lbEsito.text = strMessaggioFinale
    End Sub
    il mio campo varbinary MAX si chiama: data
    Ultima modifica di victor8872; 06-07-2020 a 12:18
    victor
    ----------------------

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    non aprire altri thread sull'argomento per favore..

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,183
    Ok scusa
    Riusciresti a darmi una mano?
    Grazie
    victor
    ----------------------

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 © 2024 vBulletin Solutions, Inc. All rights reserved.