RE:funciona en fuentes pero no compiado
Si dr. estoy capturando excepciones dentro la funcion que esta en un clase. La funcion que hace la insercion del archivo el el siguiente:
Public Shared Function SUBE_FOTO(ByVal ruta As String, ByVal COD_FILE As Long) As String
Dim conn As New OracleConnection(micadena)
Dim filePath As String
Dim cmdPerson As New OracleCommand()
cmdPerson.Connection = conn
cmdPerson.Connection.Open()
cmdPerson.CommandText = "DBMS_SESSION.SET_ROLE"
cmdPerson.CommandType = CommandType.StoredProcedure
cmdPerson.Parameters.Add(New OracleParameter("role_cmd", OracleType.VarChar)).Value = Trae_roles("")
Try
cmdPerson.ExecuteNonQuery()
cmdPerson.Parameters.Clear()
rpta = ""
Catch e As Exception
rpta = "Error al Otorgar los Permisos...
" + _
Left(e.Message.Replace(Chr(10), "
"), Len(e.Message.Replace(Chr(10), "
")) - 2)
End Try
filePath = ruta 'Agregue la ruta del archivo que usted desea insertar
If Not File.Exists(filePath) Then
' handle error
rpta = "El archivo no Existe"
Else
rpta = ""
End If
If rpta = "" Then
Dim fs As Stream = File.OpenRead(filePath)
Dim tempBuff(fs.Length) As Byte
fs.Read(tempBuff, 0, fs.Length)
fs.Close()
Dim tx As OracleTransaction
tx = conn.BeginTransaction()
Dim cmd As New OracleCommand()
cmd = conn.CreateCommand()
cmd.Transaction = tx
cmd.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;"
cmd.Parameters.Add(New OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output
cmd.ExecuteNonQuery()
Dim tempLob As OracleLob
tempLob = cmd.Parameters(0).Value
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite)
tempLob.Write(tempBuff, 0, tempBuff.Length)
tempLob.EndBatch()
cmd.Parameters.Clear()
cmd.CommandText = "AMDBA.Prc_Add_Imagen"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New OracleParameter("BlobParam", OracleType.Blob)).Value = tempLob
cmd.Parameters.Add(New OracleParameter("A_CODFILE", OracleType.Number)).Value = COD_FILE
Try
cmd.ExecuteNonQuery()
rpta = "Imagen Agregada con Exito"
Catch e As Exception
rpta = "Ocurrio un error al Subir la Imagen...
" + _
Left(e.Message.Replace(Chr(10), "
"), Len(e.Message.Replace(Chr(10), "
")) - 2)
End Try
tx.Commit()
End If
cmdPerson.Parameters.Clear()
cmdPerson.CommandText = "DBMS_SESSION.SET_ROLE"
cmdPerson.CommandType = CommandType.StoredProcedure
cmdPerson.Parameters.Add(New OracleParameter("role_cmd", OracleType.VarChar)).Value = Trae_roles("3")
Return rpta
End Function
El asunto es que cuando lo corro en fuentes si entra a esta funcion, pero cuando lo ejecuto desde el servidor no me esta ejecutando esta funcion porque incluso le he puesto msgbox dentro de esta funcion en el exception y no me arroja el valor, parece que no ingresara a esta funcion.
Gracias de antemano.
Felix