La actualización se está ejecutando antes de BulkInsert

bulkinsert sqlbulkcopy sql-server vb.net

Pregunta

Escribí un programa para insertar algunos registros usando sqlCopy para un procesamiento más rápido, y luego el código se ejecuta y actualiza la declaración [en otra tabla] basada en los registros recién insertados.

¡El problema es que la actualización casi siempre se ejecuta antes de la inserción! [unos 2 segundos antes ... de acuerdo con las marcas de tiempo de las filas de inserción y actualización.] la única forma en que podría ejecutarse la actualización después de la inserción es poner el código en reposo durante 2 o 3 segundos. ¿Cómo asegurarse de que la inserción se complete antes de que el código continúe?

Incluso capturé el evento RowsCopied, las filas se copian instantáneamente "antes" de la actualización. pero en la base de datos la actualización entra antes.

     bulkCopy.WriteToServer(table)

     Dim Sql = "Update tbl Set Total = (select sum(qty) from Inserttbl where inId = ID)"
     ExecuteSQL(Sql)

Respuesta aceptada

Encontró el problema ... la marca de tiempo de inserción fue proporcionada por el cliente, mientras que la marca de tiempo de actualización provino del servidor. El tiempo del cliente es 2 segundos antes que el tiempo de los servidores.

Cambié ambos deberían usar la función getDate del servidor. problema resuelto.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué