J'ai une commande d'insertion en masse que j'émets via C#. La commande est asynchrone. Aussi est-il possible pour la commande de retourner avant sa sortie le verrou de fichier sur le fichier en cours d'insertion.La commande BULK INSERT est-elle asynchrone lorsque des problèmes proviennent de .Net?
Répondre
Cela dépend de la façon dont vous l'émettez. Si vous avez juste une chaîne sql avec l'expression "BULK INSERT" et exécutez cette chaîne en utilisant les fonctions normales (de blocage), alors non, ce n'est pas asynchrone. Si vous le souhaitez, vous pouvez utiliser une paire de fonctions comme BeginExecuteNonQuery()/EndExecuteNonQuery()
plutôt que simplement ExecuteNonQuery()
.
Il existe également une classe SqlBulkCopy
que vous pouvez utiliser. Enfin, j'utiliserai mes pouvoirs de débogage psychique sur le texte de votre question pour en déduire que vous avez vraiment un problème avec un fichier verrouillé. Pouvez-vous partager le code que vous utilisez pour lire ce fichier?
Je suppose que non, étant donné que la commande BULK INSERT est comme n'importe quelle autre, l'appel à Execute bloquera jusqu'à ce que le serveur dise que c'est fait. Autant que je sache, aucune commande n'est asynchrone dans SQL Server. À moins que vous n'utilisiez l'une des méthodes async sur SqlCommand, je ne vois pas comment le BULK INSERT serait exécuté async.
Je suppose également que lorsque la commande renvoie, tous les verrous que SQL Server avait sur le fichier ont été libérés.
Cela n'a aucun sens autrement, pourquoi serait-il tenir les verrous, ou ne pas être asynchrone, d'ailleurs?
- 1. NHibernate bulk insert ou mise à jour
- 2. Visual studio C# Linq bulk insert/mise à jour
- 3. Détection de commande d'annulation dans asynchrone BeginExecuteReader
- 4. Traitement .NET problèmes de frai
- 5. Question sur la programmation asynchrone, enfilage .net
- 6. DB2 Bulk Load à partir de .Net (C#)?
- 7. Comment réparer cette erreur de précision datetime MSS 2008 BULK INSERT?
- 8. BULK INSERT d'une table à une autre toutes sur le serveur
- 9. convertisseurs WPF: où la culture proviennent de
- 10. Recursive Bulk Edit sous Linux
- 11. Problèmes de ligne de commande Openssl
- 12. Comment utiliser HttpWebRequest (.NET) de manière asynchrone?
- 13. MySQL Quick Bulk Inserts
- 14. .net Accordéon me causant des problèmes
- 15. Problèmes d'évolutivité lorsque nous appelons des services web écrits en .NET en utilisant asp/vbscript
- 16. Consignation des messages, découvrez d'où proviennent les messages?
- 17. console/invite de commande .net/C#
- 18. Exemples d'interaction asynchrone dans C# .Net?
- 19. Implémentation de la méthode asynchrone
- 20. Est-il possible d'appeler des applets de commande powershell de manière asynchrone?
- 21. Anciens problèmes de logiciel .NET
- 22. SQL Compare GUI fonctionne, mais la ligne de commande donne des problèmes
- 23. Problèmes de conception avec .Net UserControl
- 24. Problèmes avec le grand répertoire et la commande cp
- 25. La classe .NET System.Net.Mail.SmtpClient n'émet pas de commande QUIT à la transaction SMTP
- 26. Problèmes de remplissage des options de sélection dans Rails lorsque le formulaire renvoie des erreurs
- 27. Gestion des exceptions de multithreading asynchrone?
- 28. Appel de procédure asynchrone avec DB2 .NET Data Provider
- 29. Appel des services Web .NET de manière asynchrone à partir de Java
- 30. IE8 - Validation asynchrone de JS?