¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problemas de espacio de memoria al descargar OBServer.dll: Causas y soluciones

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 35 Vistas
0
Cargando...

Hola a todos,

Tenemos problemas ocasionalmente con el espacio de memoria al descargar OBServer.dll durante la ejecución de nuestro complemento.

¿Cómo se desencadena la descarga de OBServer.dll? ¿Se descarga cada vez o algo lo activa? ¿Podemos evitar que se descargue?

Muchas gracias,

Damian

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Damian,

La descarga de OBServerDLL.dll se desencadena por Company.Connect(). Pero no se descarga en cada conexión, solo si OBServerDll.dll no está disponible o está desactualizado en la carpeta temporal, entonces se descargará la última OBServerDll.dll en la carpeta temporal.

¿Cuántos complementos con conexión DI se están ejecutando en el mismo cliente? o

¿Cuántas sesiones de complementos con conexión DI hay en el mismo cliente?

¿Has intentado la siguiente solución con múltiples conexiones DI?

1. Múltiples conexiones de complementos proporcionadas desde SDK 2007:

SboGuiApi = New SAPbouiCOM.SboGuiApi
'// conectar a una aplicación SBO en ejecución
If connectionString = "" Then
If Environment.GetCommandLineArgs().Length = 1 Then
sConnectionString = "0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056"
Else
sConnectionString = Environment.GetCommandLineArgs.GetValue(1)
End If
Else
 ''la cadena de conexión fue completada anteriormente
End If
  SboGuiApi.Connect(sConnectionString)
'// obtener un objeto de aplicación inicializado
SBO_Application = SboGuiApi.GetApplication()

Dim oCompany As SAPbobsCOM.Company

'//obtener la compañía DI a través de múltiples complementos (a través de la UI)
oCompany = SBO_Application.Company.GetDICompany()

'//no es necesario conectar a través de múltiples complementos

2. Si es una aplicación web con conexión de usuario B1, puede considerar una conexión DI compartida por un usuario B1 fijo.

Saludos cordiales, Yatsea

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Andrew,

No estoy seguro de lo que podría estar causando esto. Por lo general, la carpeta SM_OBS_DLL no debería actualizarse cada vez que te conectas, aunque esto podría ser lo que está sucediendo. Cuando notes el error, si vas a Inicio->Ejecutar->%temp%->SM_OBS_DLL, ¿la fecha/hora de creación del archivo OBServerDLL.dll es cercana al momento en que ocurrió el error?

Una sugerencia podría ser utilizar la API de Windows para eliminar la carpeta SM_OBS_DLL cada vez antes de conectarte para ver si esto tiene algún efecto.

Saludos,

Niall

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Yatsea,

Estoy trabajando con Damian en el mismo proyecto. Aquí tienes más información:

La conexión a la DI-API no se realiza dentro de un complemento de SAP (como en UI-API) sino dentro de un procedimiento almacenado CLR en MSSQL 2005. Nuestro problema es que después de un par de ejecuciones de este CLR SP, comienza a mostrar 'Error al extraer OBServer.dll del archivo CAB'. Dado que cada CLR SP es autosuficiente y contiene el código para hacer algo específico (como cargar un diario), cada vez que se dispara se establece una conexión con la DI-API, realiza la lógica y cierra todo una vez que haya terminado.

Lo extraño es que estos errores comienzan a aparecer después de que SAPBobsCom devuelve errores que están relacionados con los datos (por ejemplo, código de BP incorrecto en una entrada de diario). A partir de ese momento, se niega a aceptar más conexiones. ¿Alguna idea?

Gracias,

Andrew

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?