Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103

    [VB6] Stored procedure che deve restituire file binario

    Ciao a tutti!
    Ho una stored procedure (Sql server 2005) che mi dovrebbe restituire un file binario (tipo di dato: IMAGE):

    codice:
    ALTER PROCEDURE [dbo].[VISUALIZZA_CERTIFICATI] 
        -- Add the parameters for the stored procedure here
        (@LOTTO VARCHAR(10))
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;
    
        -- Insert statements for procedure here
        DECLARE @ID_CERT AS INT
        SELECT @ID_CERT = ID_CERTIFICATO FROM LOTTI_CERTIFICATI WHERE LOTTO = @LOTTO
    
        DECLARE @FILE_CERT AS VARBINARY
        SELECT @FILE_CERT = FILE_CERTIFICATO FROM DOC_CERTIFICATI WHERE ID_CERTIFICATO = @ID_CERT
    
        RETURN @FILE_CERT
    
    END

    Primo problema: devo assolutamente dichiare @FILE_CERT come VARBINARY, perchè come IMAGE mi da errore (FILE_CERTIFICATO è però di tipo IMAGE).
    Secondo problema: una volta eseguita la stored procedure, dovrei recuperare @FILE_CERT e visualizzarlo.

    Ecco il mio codice [VB6]:

    codice:
    Private Sub cmdVisualizzaFile_Click()
    
    Dim Cmd2 As New ADODB.Command
    Dim par2 As New ADODB.Parameter
    Dim valRitorno As Object
    
    Cmd2.ActiveConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=ordinifb;Initial Catalog=CASTELFRIGODOC;Data Source=192.168.99.11"
    Cmd2.CommandText = "VISUALIZZA_CERTIFICATI"
    Cmd2.CommandTimeout = 15
    Cmd2.CommandType = adCmdStoredProc
    
    Set valRitorno = New ADODB.Parameter
    valRitorno.Direction = adParamReturnValue
    valRitorno.Name = "RETURN_VALUE"
    valRitorno.Type = adBinary
    Cmd2.Parameters.Append valRitorno
    
    par2.Direction = adParamInput
    par2.Name = "@lotto"
    par2.Type = adChar
    par2.Size = 10
    par2.Value = "MP0715313"
    Cmd2.Parameters.Append par2
    
    Cmd2.Execute
    
    
    Dim mstream As Object
    Set mstream = New ADODB.Stream
    mstream.Type = adTypeBinary
    mstream.Open
    mstream.Write Cmd2.Parameters(0).Value
    mstream.SaveToFile "C:\Users\Elena\Desktop\prova.pdf", adSaveCreateOverWrite
    
    AcroPDF1.LoadFile ("C:\Users\Elena\Desktop\prova.pdf")
    
    End sub

    Quando mando in esecuzione il programma, mi dà errore in questa riga:
    codice:
    Cmd2.Parameters.Append valRitorno

    Errore: "L'oggetto Parameter non è stato definito correttamente. Le informazioni fornite sono incoerenti o incomplete."
    Dove sbaglio?

    Grazie mille!
    Ultima modifica di Elena85; 20-11-2013 a 12:43

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.