Welcome to Sign in | Help

sp_OAMethod - cum parsez functiei incapsulate in COM valorile asteptate?

  •  05-12-2010, 3:32 PM

    sp_OAMethod - cum parsez functiei incapsulate in COM valorile asteptate?

    Mai jos este o bucata din T-SQL-ul meu care nu returneaza nimic si nu executa nimic; testat in VB.Net functioneaza perfect

    DECLARE @retVal INT
    DECLARE @comHandle INT
    DECLARE @errorSource VARCHAR(8000)
    DECLARE @errorDescription VARCHAR(8000)
    DECLARE @retString VARCHAR(100)
    DECLARE @pstr_Entitate VARCHAR(100)
    DECLARE @pstr_NumeFisier VARCHAR(100)

    SET @pstr_Entitate = 'Terti'
    SET @pstr_NumeFisier = 'C:\a.txt'

    EXEC @retVal = sp_OACreate 'BGInterfaces.IInterfacesBO', @comHandle OUTPUT
    IF (@retVal <> 0)
    BEGIN
    EXEC sp_OAGetErrorInfo @comHandle, @errorSource OUTPUT, @errorDescription OUTPUT
    SELECT [Error Source] = @errorSource, [Description] = @errorDescription
    RETURN
    END
    SELECT @comHandle

    EXEC @retVal = sp_OAMethod @comHandle, 'Export', @retString OUTPUT, @pstr_Entitate, @pstr_NumeFisier
    IF (@retVal <> 0)
    BEGIN
    EXEC sp_OAGetErrorInfo @comHandle, @errorSource OUTPUT, @errorDescription OUTPUT
    SELECT [Error Source] = @errorSource, [Description] = @errorDescription
    RETURN
    END
    SELECT @retString
    EXEC sp_OADestroy @comHandle

    SELECT @comHandle returneaza 16711422 si asta este bine
    SELECT @retString returneaza "nimic"

    In VB.Net
    Imports Interop.BGInterfaces
    ...
    objInterfaces = New CInterfacesBO
    objInterfaces.Initializare(1, "ceva")
    objInterfaces.Export("Terti", "C:\a.txt")

    DLL-ul apelat este un COM.
    Filed under:
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems