Ich habe einen Masseneinfügebefehl, den ich über C# ausstelle. Ist der Befehl asynchron? Es ist auch möglich, dass der Befehl zurückgibt, bevor er die Dateisperre für die einzufügende Datei freigegeben hat.Ist der BULK INSERT-Befehl bei Problemen mit .Net asynchron?
Antwort
Es hängt davon ab, wie Sie es ausgeben. Wenn Sie nur eine SQL-Zeichenfolge mit dem Ausdruck "BULK INSERT" haben und diese Zeichenfolge mit den normalen (blockierenden) Funktionen ausführen, dann ist es nicht asynchron. Wenn Sie möchten, können Sie ein Funktionspaar wie BeginExecuteNonQuery()/EndExecuteNonQuery()
statt nur ExecuteNonQuery()
verwenden.
Es gibt auch eine SqlBulkCopy
Klasse, die Sie verwenden können. Es läuft auch synchron (der Anruf an WriteToServer()
wird blockiert.)
Schließlich werde ich meine psychischen Debugging-Kräfte auf Ihre Fragetext zu folgern, dass, was Sie wirklich mit einem Problem mit einer gesperrten Datei zu tun haben. Können Sie den Code teilen, den Sie zum Lesen der Datei verwenden?
Ich würde raten, nein, da der Befehl BULK INSERT wie jeder andere ist, wird der Aufruf von Execute blockiert, bis der Server sagt, dass es fertig ist.
AFAIK, gibt es keinen Befehl, der in SQL Server asynchron ist. Wenn Sie nicht eine der asynchronen Methoden im SqlCommand verwenden, kann ich nicht sehen, wie der BULK INSERT async ausgeführt wird.
Ich würde auch davon ausgehen, dass, wenn der Befehl zurückgibt, dass alle Sperren, die SQL Server in der Datei hatte, freigegeben wurden.
Es macht sonst keinen Sinn, warum würde es die Sperren halten oder nicht asynchron sein?
- 1. Bulk einfügen, Update, wenn bei Konflikt (Bulk-Upsert) auf Postgres
- 2. QTimer mit QDragEvent Problemen
- 3. SonarQube Eclipse-Plugin: Timeout bei der Synchronisierung von Problemen
- 4. Verstehen von Problemen mit atomaren Lock-Operationen bei Multiprozessoren
- 5. Gebäude Jahia aus der Quelle, mit Problemen
- 6. Fehlerbehebung bei grundlegenden Problemen mit orientjs (OrientDB-Treiber für node.js)
- 7. „Spalte ist zu lang“ Fehler mit Bulk
- 8. facebookLogin.logInWithReadPermissions mit Firebase-Problemen
- 9. Rx in .Net 3.5 nicht asynchron?
- 10. Ist Node.js Array.map() asynchron?
- 11. Laravel Saving Ereignis bei Bulk-Insert
- 12. Observable ist nicht asynchron
- 13. Redis: Ist PUBLISH asynchron?
- 14. Ist der Aufruf von JavaScript location.href asynchron?
- 15. Asynchron-Timeout-Implementierung armen mans Asynchron mit/erwarten Konstrukte in .Net 4.0
- 16. Ist cudaFree() asynchron?
- 17. Elasticsearch Bulk-Index Fehler bei Sonar-Start
- 18. Hilfe bei der Lösung von Problemen mit Guards - AKTUALISIERT mit CODE
- 19. .NET 4.5 Asynchron warten und überladene Methoden
- 20. Ist WebAPI Body.json asynchron?
- 21. .Net Invoke Asynchron-Methode und warten
- 22. Wie verwende ich HttpWebRequest (.NET) asynchron?
- 23. Bewegliches Objekt mit Raycast-Problemen
- 24. Der erste Anruf bei einem .net Webservice ist langsam
- 25. Merb mit Problemen erfordern Edelsteine
- 26. Ist Javamail asynchron oder synchron?
- 27. Text-Box-Breite unterschiedlich zwischen IE/FF/Chrome - verursachenden Problemen bei der Textbox mit ‚Ws
- 28. WCF: Callback ist nicht asynchron
- 29. Datenstruktur zum Arbeiten mit matrixbasierten Problemen
- 30. Ist Dispatch_apply synchron oder asynchron?