lunes, 9 de marzo de 2020

Error: unexpected element found in XAMARIN

De repente recibo este error de compilación en VS 2019 pero no en VS 2017 cuando construyo mi proyecto de Android:
unexpected element <receiver> found in <manifest>
Solución:

entrar a las opciones del proyecto android y marcar la propiedad Use Incremental Android packaging system (aapt2)



Despues compilar
volver a entrar a esa opcion y desmarcar.




Compilar, y ya no debe marcar ese error.

jueves, 5 de marzo de 2020

SQL Server sp_refreshview para actualizar la definición de vista

Si la definición SQL de una vista en SQL Server está desactualizada debido a que los objetos dependientes han sido alterados , es necesario actualizar la definición de la vista usando procedimiento del sistema sp_refresh SQL Server.

Si los administradores de la base de datos de SQL Server o los desarrolladores de Transact-SQL han creado objetos de la Vista SQL que no están delimitados por esquemas, si el objeto de la base de datos dependiente ( tabla , vista o función) de la vista SQL cambia, la definición de la vista SQL Server también debería ser actualizado.

La sintaxis sql del procedimiento almacenado sp_refreshview SQL Server es la siguiente:


EXECUTE sp_refreshview [ @viewname = ] 'viewname' -- sp_refreshview syntax
Execute sp_refreshview 'MySampleSQLView' -- as an example

jueves, 20 de febrero de 2020

Detectar consultas que producen bloqueos SQL SERVER

Los procesos bloqueados causados por bloqueos en los objetos de la base de datos son un problema común. El bloqueo asegura la integridad de los datos almacenados dentro de las bases de datos forzando cada transacción SQL Server ejecutada a pasar la prueba ACID que considera que cada transacción debe cumplir con los siguientes requerimientos:
  • Atomicidad –una transacción debe ser totalmente completada cuando se ejecuta, o no se ejecutará.
  • Consistencia – las transacciones deben crear un nuevo estado de datos que sea válido, o si cualquier fallo ocurre, debe retornar todos los datos al estado que estaba antes de que la transacción sea ejecutada/iniciada.
  • Aislamiento – una transacción que está en proceso de ejecución y no ha sido enviada aún, debe ser aislada de todas las otras transacciones.
  • Durabilidad  – los datos enviados deben ser grabados en una forma que mantendrá los datos en un estado correcto si la transacción no se completa, en el evento de una falla o un reinicio del sistema.
Como parte de la prueba ACID, el aislamiento es realizado bloqueando objetos y, como tal, el aislamiento puede afectar una o más filas de datos hasta que la transacción SQL Server que es ejecutada contra ese objeto sea enviada. Esto significa, en la práctica que, bloqueando el objeto, SQL Server evitará que cualquier otro proceso haga algún cambio contra los datos en ese objeto hasta que el bloqueo sea removido, ya sea enviando el cambio o retrotrayéndolo.

Script 1
SELECT blocking_session_id, wait_duration_ms, session_id
FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id IS NOT NULL


SELECT t.text,*
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t
WHERE c.session_id in
(
SELECT  session_id
FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id IS NOT NULL
)

martes, 18 de febrero de 2020

Collection was modified, enumeration operation may not execute XAMARIN FORMS

Este es un error bastante común: modificar una colección mientras la itera usando foreach, tenga en cuenta que foreachusa una IEnumeratorinstancia de solo lectura .
Intente recorrer la colección for()con una comprobación de índice adicional, de modo que si el índice está fuera de los límites, podrá aplicar una lógica adicional para manejarlo. También puede usar LINQ Count()como otra condición de salida de bucle evaluando el Countvalor cada vez si la enumeración subyacente no se implementa ICollection.

Solucione el problema sacando el unitofwork.save fuera del foreach

Tu eres el verdadero amor de tu vida


Cuando echas de menos a alguien y sufres por haberlo perdido tan solo recuerda que en realidad el que verdaderamente extrañas es a ti mismo y no es para menos, al perderte en el otro perdiste a su vez la conexión intima contigo, lo que echas de menos es la sensación que sientes dentro de ti cuando estabas junto a esa persona, echas de menos una parte de ti que crees que solo puedes experimentar a través del otro, sin embargo dado que eres un ser completo puedes revivir eso que tanto echas de menos aquí y ahora, simplemente cierra los ojos respira a profundidad y visualiza algún momento compartido con esa persona ya verás como a poco la sensación que echas de menos florecerá dentro de ti desde adentro con la practica dicha sensación te acompañara donde quiera que vallas estés solo o acompañado y verificaras que eso que pensabas que tenía que ver con el otro en realidad solo tiene que ver contigo mismo , a menos que sepas estar feliz estando solo jamás podrás serlo en compañía de nadie más la auténtica madurez deviene cuando comprendes que tú eres la persona más importante y el verdadero amor de tu vida.


Borja VilaSeca

jueves, 2 de enero de 2020

Cómo renovar el caché de DNS (flush DNS)

Este tutorial te mostrará cómo renovar la caché DNS comando flush DNS  utilizando varias plataformas. Al final, podrás borrar la caché DNS en máquinas con Windows, Mac y Linux.
Una caché DNS mala o desactualizada mostrará información incorrecta o un error cuando accedas a sitios web. Lo siguiente puede ocurrir debido a cambios recientes de DNS. Por lo tanto, es importante saber cómo borrar la caché de DNS con flush DNS y solucionar este problema con facilidad.

Paso 1: Iniciar la consola del símbolo del sistema de Windows

Presiona la combinación de teclas Windows + R para abrir el cuadro de diálogo Ejecutar. Escribe el siguiente comando y haz clic en el botón Aceptar:
  1. cmd
flush-dns-abrir-en-windows-cmd
Esto abrirá una ventana de símbolo del sistema.

Paso 2 – Renovar el DNS

Usa el comando ipconfig /flushdns para borrar la caché de DNS en tu computadora:

  1. ipconfig /flushdns
Espera un momento y verás una confirmación de que la memoria caché de resolución DNS se ha borrado.

lunes, 30 de diciembre de 2019

Error cursor with the name 'namecur' already exists SQLSERVER

Está utilizando un cursor global que se definirá cada vez que llame a este procedimiento y le dé el mismo error.

Definir un cursor local. Simplemente ponga la palabra clave LOCALdespués de CURSOR:



declare namecur CURSOR LOCAL FOR
...