Frage

Dies könnte eine geladene Frage sein, und es könnte abgewählt, aber es frustriert mich vollständig.

Wenn Sie SQL Server in Ihrer Entwicklung verwenden der Datenzugriff ist schnell und effizient, aber wenn Sie COM verwenden, um Excel zu sprechen, ist es Schweinchen langsam.

Es spielt keine Rolle, welche Daten-Access-Technologie Sie verwenden, ADO, ADO.NET LINQ, Entity Framework, Astoria (ADO.NET Data Services), sie sind alle schneller als die Automatisierung von Excel.

Wenn alles, was Sie wollen, dass die Daten in der Zelle „A1“ aus einer Arbeitsmappe ist, benötigen Sie eine Excel.Application, Excel.Workbook, Excel.Worksheet und Excel.Range Objekte, nur einen Datenpunkt zu erhalten.

WTF Warum spricht mit SQL Server effizienter als in Excel zu sprechen? Excel ist lokal und SQL Server kann nicht sein.

TIA Chris

War es hilfreich?

Lösung

Da eine große monolithische ausführbare Spinnen bis das entwickelt wurde, als eine interaktive Anwendung ist langsamer als im Gespräch über ein schnelles Netzwerk zu einer Anwendung, die für den Zweck entwickelt wurde.

Andere Tipps

Jedes Mal, wenn Sie sprechen müssen zu übertreffen, hat der Server tatsächlich das Excel-Programm zu starten. Es ist in einem versteckten Desktop, aber es fängt immer noch das gesamte Programm auf. Wenn Sie mehr Personen mit der Website haben, das ist auch mehrere Instanzen von Excel. Und wenn sie die gleiche Arbeitsmappe teilen es ist noch schlimmer.

SQL Server, auf der Hand, ist bereits ausgeführt . Schließen Sie einfach und gehen. Es wurde für diese Art der Sache gebaut. Excel war es nicht.

Excel ist immer noch ein COM-Interop, auch im Jahr 2007, aber es gibt viele Helfer

Excel-Leistung -neue-White Paper-verfügbar

SpreadsheetGear

excelpackage.codeplex

Das ist, da SQL Server zu Server-Daten ausgelegt ist, Excel nicht. Netzwerk-Latenz wird nicht einmal ins Spiel kommt hier bis 1000 abrufen vielleicht sogar Millionen von Zeilen von SQL Server

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top