Zum Inhalt springen

Argbeil

Mitglieder
  • Gesamte Inhalte

    433
  • Benutzer seit

  • Letzter Besuch

  1. DevCouch - Coole .NET Videotutorials: Home - DevCouch - der Autor ist ein cooler Typ!
  2. Hallo du, ja, das ist möglich, du brauchst dafür auch keinen Wrapper. Deine Assembly muss für COM-Eports kompiliert und auch signiert sein. Du kannst sie dann mit regasm.exe wie einer normale COM-DLL registrieren.
  3. Ich bin der Überzeugung dass der erste Ansatz wesentlich mehr Nachteile bietet, bei der COM Variante fällt mir für diese Anforderung kein einziger Vorteil ein. COM Marshalling ist zur Laufzeit extrem langsam da der erzeugte Wrapper dynamische Invocation durchführen muss ( siehe hier ) und zudem den Excel Prozess erstmal hochfahren muss. Man hat eine extrem enge Bindung an Excel und in der Vergangenheit gab es da häufig Probleme wie Memory-Leaks die erst durch Service Packs gefixt wurden. Das Verhalten bei der Typ-Erkennung ist kein besonderes Problem. Da man die Struktur in Excel nicht erzwingen kann und der User auch in eine Währungsspalte "Hallo" schreiben kann, muss man jeden Wert sowieso erstmal als String behandeln und validieren. Zudem ist das ganze COM/Excel Konstrukt zum reinen auslesen von Daten völlig unnötig. Wenn man Excel-Dateien formatieren, erzeugen, ändern und speichern will macht das vielleicht Sinn - aber auch dafür gibts native .net Excel-File Komponenten. Der allerwichtigste Grund ist aber: Das System ist nicht Thread-Safe! In einer WebAnwendung würde das ganze ohnehin nicht funktionieren. Wird die Anwendung über Terminal-Services ausgeführt wird sie instabil, evtl. schon wenn sie mehrmals gestartet wird. Microsoft rät übrigens ohnehin ab Office Komponenten zur automatisierung zu verwenden. Quelle
  4. Dann musst du aber drauf achten anstelle von UNION ein UNION ALL zu verwenden, anderenfalls werden identische Datensätze aus beiden Views nur einmal übernommen.
  5. Hab die Anforderung nicht komplett verstanden. Willst du die Daten addieren? Also soll aus ColA1 = 2 und ColB1 = 5 dann eine 7 werden? Oder soll 2 und 5 hintereinander ausgegeben werden?
  6. Jepp, würde ich genau wie Thomas machen. Über Integration Services die Daten laden, es gibt einen Wizard der aus dem SQL Server Management Studio heraus die IS-Pakete automatisch erstellt, SQL Server kann auch ohne Probleme auf Oracle zugreifen. Konsistenzprobleme treten nur dann auf wenn du nicht alle Daten importierst oder die Quelldaten während des Imports verändert werden.
  7. Ja genau, Custom-Action erstellen welche die Dateien kopiert. Mal was anderes: Datendateien die vom Programm geändert werden, dürfen nicht im Programm-Files Ordner liegen.
  8. little2k3 hat recht. Wenn du jetzt auf die Zellen uugreifen kannst, hast du eine Abhängigkeit zu Excel, vermutlich per COM Referenz? D.h. auf dem Rechner auf dem deine Anwendung läuft muss Excel installiert sein, evtl. auch noch in der richtigen Version. Bau lieber einen oledb Connection zu der Excel-datei auf, du kannst dann wie auf eine Datenbank per oledbcommand oder dataAdapter auf die Excel-Sheets zugreifen.
  9. Solche Lösungen scheitern häufig an der Anwendungsarchitektur, in der Regel macht man sich die Parallelität durch locking wieder kaputt. Zudem hat man in deinem Anwendungsfall vermutlich weitere Probleme, die Datenmengen sind einfach zu klein und führen zu Locks auf Hardware-Ebene. Der IIS als Webserver kann die Requests ja auch schon von Haus aus auf verschiedene Cores verteilen. Ich würde dir empfehlen eine Architektur wie Event Based Components zu verwenden. Die Komponenten sind komplett statuslos und brauchen dadurch kein locking. Wenn die Anwendung erstmal ohne Threading fertig ist kann man jede einzelnen Komponente paralelisieren. Ich wage aber die Prognose das die parallele Lösung trotzdem langsamer laufen wird als die synchrone.
  10. Um genau zu sein DARF in diesem Fall die ID auch nicht fortlaufend sein. Die ID ist die Identität deines Datensatzes, wenn du den Satz löscht darf ein anderer nicht die gleiche ID bekommen weil die Identität über den Zeitraum nicht mehr eindeutig wäre. Das erzeugt Probleme z.b. bei Paging in Anwendungen. Häufig referenzieren Anwendungen DataRows nur über ihre ID. Ein späteres UPDATE WHERE ID = ... könnte dir deinen neuen Datensatz verändern obwohl der alte gemeint war.
  11. Kann mir jemand erklären was das Wort "Abhilfe" in dem Zusammenhang bedeutet? Ich kenne das nur aus Gesetzestexen ( Abhilfe ? Wikipedia )...aber ich kannte ja auch das Wort "Topiken" nicht. Das Ziel des Gesprächs aus Sicht des Unternehmens sollte sein dich als Bewerber gut einschätzen zu können, ich würde mich da nicht verrückt machen und ehrlich sein. Die Fragen die wirklich gestellt werden kann man eh nicht vorhersagen. Den Namen des Unternehmens hier zu posten ist übrigens nicht sooo clever. Ich drück die Daumen.
  12. Da die Daten hier ja nach dem einlesen statisch sind sehe ich selbst bei MDS keine Notwendigkeit während der Visualisierung die kompletten Daten halten zu müssen, die nötigen Werte kann man vorberechnen. Aber ich glaube das war auch gar nicht das ursprüngliche Problem von Murli.
  13. Um nochmal zum Ausgangspost zu kommen: Ich glaube nicht das eine allgemeine Datenbankzertifizierung etwas taugt. Bzw. was soll dein Ziel dabei sein? Wenn du dich mal irgendwo bewirbst zeigst du damit: Ich kenne mich allgemein mit Datenbanken aus, aber nicht mit einem bestimmten Produkt. Bei Firmen sind aber in der Regel nie "allgemein Datenbanken" vorhanden sondern immer Produkte wie Oracle, SQL Server, MySql, etc. so das eine bestimmte Produktzertifizierung für Firmen viel interessanter ist. Und ich vermute ach das jemand der z.B. eine Oracle Zertifizierung hat sich auch relativ schnell in SQL Server einarbeiten kann. Sowohl die Oracle als auch die Microsoft Zertifizierungen beschäftigen sich eingehend auch mit den Grundlagen von Datebankdesign, Normalisierung usw., die Preise richten sich danach ob du einen Präsenzkurs besuchen möchtest, Online Trainings oder Selbsstudium machst. Bei Microsoft ist die günstigste Variante immer das Buch zum Selbststudium (Self Paced Training Kit) + die Prüfung für ca. 200 Euro.
  14. Meiner Meinung nach liegt das Problem darin begründet, dass der Content deines Array auf dem Stack und nicht auf dem Heap verwaltet wird. In dem Color Objekt befinden sich ja vermutlich int Werte - die Value-Types sind, bei solch einer Menge ist der Stack irgendwann natürlich voll. Ich würde mal drüber nachdenken ob du wirklich JEDEN erfassten Messpunkt wirklich brauchst, von Punkt 0 zu Punkt 1 sind ja evtl. gar keine großen Sprünge zu erwarten so das die Auflösung ggf. reduziert werden kann. Wenn jeder Punkt verarbeitet werden muss würde ich die Daten z.B. mit einem MemoryStream sichern. Der Stream liegt auf dem Heap, bei einem 32 Bit OS sollte die Grenze hier bei 2 GB liegen. Wenn die Daten größer werden musst du sie auf die Platte streamen. Wenn es nur um Visualisierung hatte ich noch nie einen Fall in dem die komplette Struktur auf einmal im RAM gebraucht wurde, mehr Daten zu halten als der Monitor auflösen kann macht keinen Sinn.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...