Microsoft .NET, Server and more RSS 2.0
# Thursday, May 27, 2010

Es ist bekannt und offen kommuniziert, dass Office 2003 nicht mehr vom Visual Studio 2010 supportet wird. Auch ist klar, dass der SQL Server 2005 nicht mehr für den Team Foundation Server 2010 als Datenbank in Frage kommt. Wir haben uns darauf eingestellt und das war es dann...

Jetzt musste ich aber leider festellen, dass der SQL Server 2000 nicht mehr als Datenquelle unterstützt wird. Das ist echt ein Desaster. Es gibt halt noch etliche SQL Server 2000, mit denen wir kommunizieren müssen. Wenn das von Microsoft doch wenigstens deutlicher kommuniziert worden wäre :(

Dies ist die Fehlermeldung des Server Explorers...

... Ich habe nun lange nach einer Lösung gesucht und zumindest einen Workaround gefunden. Man kann die Datenbank aus der DBML ohne Probleme auch nutzen, wenn es sich um einen SQL Server 2000 handelt. Nur das Editieren ist unmöglich und auch der Support von Microsoft dürfte hier nicht mehr greifen.

Mit tempörärem SQL Server zum Ziel:

Fakt ist aber, dass ich mir für das Design der Datenbank einen SQL Server 2005 oder höher installiere und die Datenbank migriere. Sofern ich dann die Tabelle oder View in die DBML eingebunden habe, kann ich die Connection wieder auf den alten SQL Server 2000 mappen.

Mit altem Visual Studio zum Ziel:

Auch eine Variante ist, die DBML Datei in ein separates Projekt einzubinden und dann diese nur mit dem Visual Studio 2008 zu bearbeiten.

Beide Alternativen sind sicher keine tolle Lösung, doch kommt man damit zunächst mal an das Ziel! Danach sollten man schnellstens die Migration auf den SQL 2008 in Betracht ziehen. Auch wenn ich sonst sehr positiv auf Microsoft zu sprechen bin, finde ich diese unnötige Sperre ohne große PR ziemlich übel. Vielleicht hat ja jemand doch noch eine Lösung diese Meldung zu umgehen? Beim LINQ to SQL hat sich ja technisch eh nichts geändert...

 

UPDATE: Der extended Support für den SQL Server 2000 läuft im Jahr 2012 aus. Die MSDE, der Vorgänger vom SQL Express, ist sogar schon ausgelaufen. Von dem her sollte man dringend seine Kunden dazu motivieren zu migrieren. Kollegen meinten, dass man einen DB2 Server auch nie so lange laufen lassen könnte... Von dem her muss ich wohl sagen, hat Microsoft schon Recht, so einen Umstieg zu erzwingen. Die müssen so ja auch weniger testen. Da bei den Entity Framework neue Dinge hinzugekommen sind (im Gegensatz zum LINQ), würde ich hier auf keinen Fall mit einem SQL Server 2000 den Workaround ausprobieren. Testen werde ich das Verhalten aber trotzdem gern mal...

Thursday, May 27, 2010 11:17:06 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [1] -
.net | Client | Deployment | SQL
# Friday, May 07, 2010

Ich war äußerst gespannt Microsoft Azure SQL auszuprobieren und möchte meine ersten fundierten Erfahrungen hier schreiben.

Was ist Azure SQL?

Microsoft Azure SQL ist eine Relationale Datenbank im Internet. Diese Datenbank ist zwar kein richtiger SQL Server in der aktuellen Version – aber die Funktionen, die in der letzten Zeit dazu gekommen sind, lassen durchaus einen sehr guten Vergleich zu. Es steht ausschließlich im Web bereit und Microsoft als Dienstleister ist für Betrieb, Backup, Antivirus, Verfügbarkeit und Co zuständig. Auch die Last, die auf den SQL Server geht, wird von Microsoft verwaltet. Reicht ein normaler Server nicht mehr aus, werden ohne Probleme weitere Server hinzugeschaltet. Es gibt quasi keine Lastbeschränkung und dazu noch Services mit Datenspeicher und Anwendungsserver nebenbei.

 

Was kostet Azure SQL?

Microsoft Azure SQL gibt es in vielen Ausprägungen. In einer MSDN Ultimate Lizenz sind bereits 3 SQL Server Datenbanken bis 10 GB enthalten. Auch einiges an Traffic ist damit abgedeckt. Die MSDN Datenbanken dürfen laut Aussage von Microsoft sogar produktiv genutzt werden!!! Auch sonst halten sich die Preise in Grenzen – aber welcher Entwickler hat keine MSDN Lizenz? Bestimmt kein Profi, der sich jetzt schon mit Azure beschäftigt. Die genaue Preisliste findet sich unter folgender URL <<<Link>>>. In Wesentlichen kann man aber rechnen, dass eine Datenbank bis 1GB rund 7€ im Monat plus vielleicht 5€ Traffic kostet. Eine 10GB Datenbank rund das 10 fache. Insgesamt also sehr günstige Preise für eine komplett skalierbare und hochverfügbare Datenbanklösung!

 

Wie verwende ich Azure SQL?

Auf der Azure Seite kann komplett per HTTPS verschlüsselt ein Serverinstanz angelegt werden. Dies muss auf der Webseite erfolgen! Auch die Firewallrichtlinien müssen dort konfiguriert werden. Ohne diese einfache Konfiguration ist da mal gar nichts möglich. Danach können Datenbanken angelegt werden. Dies geht per Weboberfläche oder Tool. Die weiteren Tools sind noch nicht so komfortabel wie das SQL Management Studio – aber TSQL, Linq, Stored Procedures, SQL Connections werden komplett unterstützt. Der SQL String dafür lässt sich über die Webseite abrufen. Mehr zu der Verwendung gibt es in den folgenden Abschnitten.

 

Was gibt es für Tools für Azure SQL

Microsoft SQL Azure kann vom SQL Server Management Studio und vom Server Explorer des Visual Studio bedient werden. Die Änderungen werden hier nur per TSQL angenommen. Die Objekte können nur gelesen werden. Dafür gibt es jedoch ein paar Tools von Codeplex. Das wichtigste Tool ist der SQL Azure Migration Assistent. Er kann eine lokale Datenbank mit ein paar Anforderungen auch zum SQL Azure migrieren. Auch eine Migration zurück ist möglich. Somit würde ich in der Entwicklung einen SQL Server lokale verwenden und dann die fertige Datenbank auf den SQL Azure per Tool verteilen. Man hat so gleich ein Trennung von Entwicklung und Produktion!!!

 

Wie kann ich per Visual Studio auf Azure SQL zugreifen?

Für das Visual Studio sieht die fertig gestaltete Datenbank dann wie ein richtiger SQL Server aus. Es wird halt mit einer SQL Authentifizierung auf den Server zugegriffen. Auch Databinding und Co sind ohne Probleme möglich. Ab diesem Moment merkt man nicht mehr, ob es ein SQL Server oder ein SQL Azure ist. Dies ist mein erster Eindruck – Probleme im Detail kann ich nicht ausschließen! Nur die Performance vom Netzwerk (hier Internet) ist natürlich hier wichtig. Mit meinem DSL 25.000 war es aber kein Thema!

 

Wie kann ich Azure SQL mit dem lokalen SQL Server vergleichen (Fazit)?

Auf den ersten gründlicheren Blick ist SQL Azure jetzt schon eine richtig gute Alternative. Zwar sind die Werkzeuge zum Design der Datenbank noch nicht super toll. Aber die simple erzwungene Trennung von Entwicklung und Produktion ist super. Auch die Kosten sind im grünen Bereich. Ganz besonders stark ist das Sizing. Ob 5, 5.000 oder 5.000.000 User, die Datenbank steht immer hochverfügbar im Netz. Auch die Sicherheit macht einen ausgereiften Eindruck. Daher ist es wohl besser einer kleinen Firma einen Redundanten SQL Azure Server zu verkaufen als einen lokalen Server, die bei einem Feuer sofort abraucht. Auch bei großen Firmen dürfte so ein Server ohne viel Bürokratie sicher zu betreiben sein.

 

Daher ist die Betrachtung von SQL Azure ein absolutes MUSS!

Friday, May 07, 2010 2:39:35 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Client | Deployment | Server | SQL | Virtualisierung | Web | Azure
# Monday, April 12, 2010

Ich hatte zum Teil Probleme beim Import von Massendaten mit den Zeiten. So war meine bisherige Vorgehensweise, dass ich die Daten erst in eine Temp -Tabelle geschrieben habe. Danach die Daten mehrmals validiert habe und im letzten Schritt verwertbare Datensätze in eine richtige Tabelle geschrieben habe. Datensätze mit Fehlern wurden in eine andere Tabelle geschrieben und als Fehler ausgegeben.

 

Dieses Vorgehen war mit LINQ und mehrfachem Speichern sehr langsam!

 

Ich habe nun mit meinem Kollegen Ralf Stiegele zusammen verschiedene Datenszugriffe ausprobiert und die Zeiten gemessen. Da beim Test kein Unterschied zwischen SQL 2005 und 2008 zu sehen war, schreibe ich nur vom SQL Server. Die Testdatei im Import hat 160.000 Zeilen und 60 Spalten. Es wurden 3 Läufe als Mittel gewertet und auf ganze Minuten gerundet. Bei diesen Import wurden keine Validierungen berücksichtigt.

 

 

Programm läuft auf dem SQL Server direkt ab (4GB Ram / 2 Prozessoren)

Programm läuft auf einem separaten virtuellen Client ab (4GB Ram / 2 Prozessoren / GB-LAN)

Programm läuft auf einem separaten physischen Client ab (2 GB Ram / 1 Prozessor / 100MBit LAN)

Import Stored Procedures

17 Minuten

17 Minuten

31 Minuten

Import mit LINQ

 

6 Minuten

7 Minuten

15 Minuten

Import mit Datasets

 

6 Minuten

7 Minuten

14 Minuten

Import mit Direct SQL

 

6 Minuten

7 Minuten

11 Minuten

Import mit Integration Sercvices (SSIS)

nicht gemessen

nicht gemessen

6 Minuten

SQLBulkCopy

1 Minute

1 Minute

nicht gemessen

 

Gefühlt  müsste es schneller gehen… Hat jemand noch eine bessere Alternative oder bessere Zeiten gemessen?

 

Bei uns ist der SSIS schwierig zu deployen und LINQ bietet am meisten Komfort. Wenn ich nun Programmierzeiten und Zeitersparnis bewerte, würde ich weiter LINQ nehmen und nur auf das Zwischenspeichern verzichten. Alle Validierungen müssten also beim ersten Einlesen passieren. Das Speichern von Daten im SQL Server ist einfach sehr Ressourcenfressend.

 

--- Update ---

SqlBulkCopy ist richtig fix. Wir konnten Zeiten für den Test oben von rund 50 Sekunden erreichen. Vielen Dank für die guten Tipps!!!

Monday, April 12, 2010 4:03:29 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4] -
.net | Client | Deployment | Server | SQL
# Thursday, March 19, 2009

Ich habe jetzt schon sehr oft das Problem gehabt, das MSDN Lizenzmodell verständlich zu erklären. Microsoft macht es einem da ja auch nicht leicht. Daher habe ich jetzt lange überlegt wie man es besser erklären kann und bin auf ein witzigen Vergleich mit einem Golfclub gekommen. Da es auf die MSDN Team Suite gemünzt ist, finde ich auch, dass es ein gediegenes Produkt ist, was zu einem edlen Golfclub passt ;)

Eintritt in den MSDN Golfclub

Die MSDN Lizenz ist beim ersten Kauf für den Entwickler teuer. Das nennt man dann die Eintrittsgebühr. Diese Eintrittsgebühr muss jeder Entwickler zahlen, wenn er in unseren MSDN Golfclub eintreten will. Zusammen mit der Eintrittsgebühr muss man auch den ersten Jahresbeitrag für Platznutzung und Greenfee zahlen. Je nach Vertrag (Open, Select oder Einzellizenz) kann es auch sein, dass man gleich bis zu 3 Jahresbeiträge zahlen muss.

Verlängerung und Kündigung

Bei den anderen Golfclubs verlängert sich der Vertrag immer automatisch. Bei dem MSDN Golfclub ist dies anders. Man muss sich hier aktiv kümmern, um im Verein bleiben zu dürfen. Sprich man verlängert den Vertrag um ein weiteres Jahr (Bei Open / Select bis zu 3 Jahren). Diese Zeit ist man weiter im Club und darf auch alle neuen Plätze mit nutzen, die in dem Zeitraum gebaut werden ;) (neue Software).

Sollte man vergessen den Vertrag zu verlängern, darf man zwar auch weiter spielen, aber alle neuen Plätze sind tabu und auch die alten Plätze werden nach und nach geschlossen (keine neue Software mehr zum Download). Somit wird man bald zum Außenseiter in unserem MSDN Golfclub und ist gezwungen entweder ganz auszusteigen oder darf mit der Zahlung der voller Eintrittsgebühr wieder zurück zum Geschehen kommen.

Nutzung (Software und so...)

Mit dem Jahresbeitrag darf ich dann alle Plätze, Spielzeuge und Anlagen des Vereins nutzen. Nur die Flugsimulatorabteilung bleibt unseren Mitliedern vorenthalten (Microsoft Games). Toll ist auch, dass man kein Handicap braucht. Somit darf jeder eintreten, ob er nur vollblut Informatiker oder Hobbyentwickler ist. Nur das nötige Kleingeld muss er halt mitbringen!

Verrechnung der Gebühren für die Beruhigung der Golf spielenden Controller

Der Controller will jetzt noch den Mitgliedsbeitrag absetzen. Hierzu muss ich ihm die Eintrittsgebühr aufschlüsseln. Die Eintrittsgebühr selbst ist eine Invest Position und kann aktiviert (Abschreibung über 5 Jahre als Software) werden. Die Anteile der ersten Abogebühr und auch die folgenden Abogebühren ist Verwaltungsaufwand und können nicht aktiviert werden.

Vereinsheim (Der Team Foundation Server)

In unserer Edlen MSDN Lizenz ist noch kein Vereinsheim (Quellcodeverwaltung) enthalten. Man muss sich also mit dem Team Foundation Server selbst eines bauen. Dies ist zwar nicht teuer, aber es kostet viel Zeit. Man kann das Vereinsheim sozusagen nur in Eigenleistung erstellen oder einen Dienstleister beauftragen, der einem zeigt, wie man es bauen kann.

Ausrüstung (Mäuse hoffentlich ohne Bälle, Laptops und Co.)

In unserem MSDN Golfclub braucht man keinen Schläger, aber einen Computer mit Maus und Tastatur. Bälle werden bei uns heute meist durch Laser oder wenigstens die Optik der Maus ersetzt. Die, die immer noch mit Bällen im MSDN Golfclub antreten tun mir da schon etwas leid.

Trainerstunden (Oder auch Schulung genannt)

Im MSDN Golfclub sind Supportcalls enthalten. Hier kann man also bei den besten Trainern der Welt nachfragen, was man falsch gemacht hat und seinen Fehlschlag analysieren lassen. Diese Trainer verlangen jedoch, dass man den Schlag immer genau reproduzieren kann. Und man darf meist nur 4 Schläge (Fehler) pro Jahr kostenlos analysieren lassen. Möchte man mehr, so kann man auch Trainerstunden buchen. Hier sind zum Beispiel Gruppentrainings wie die BASTA oder auch die Team Conf zu empfehlen.

Andere Golfplätze (Die Konkurrenz und Billigmitgliedschaften für Schnorrer *g*)

Die Konkurrenz bietet auch Golfplätze an. Diese sind meist so wie diese Internetmitgliedschaften. Man zahlt deutlich weniger, muss dann aber kämpfen überhaupt einen Golfplatz zu finden auf dem man spielen darf. An so tolle Trikots (Steuerelemente), wie von Infragistics ist dann da nicht zu denken. Auch ein so tolles Vereinsheim, wie den Team Foundation Server, haben die wenigsten zu bieten. Für Leute, die gar nicht selbst entwickeln, sondern nur testen und administrieren, hat Microsoft den TechNet Golfclub im Angebot. Sozusagen etwas für passive Mitglieder. Auch die MSDN Team Edition steht zur Wahl bereit. Hier zahlt man nur die Hälfte, darf dann aber nur auf einem Platz spielen. Dies ist dafür jedoch der größte und somit eine denkbare Alternative für Leute die sparen wollen. Vielleicht kann man sogar günstige Angebote beim Discounter um die Ecke finden ;)

Fazit

Bitte nicht alles so ernst nehmen, was ich es hier geschrieben habe. Aber ich muss sagen, dass 100% zu der MSDN Team Suite passt. Die Leute, denen ich die MSDN Lizenz so oder so ähnlich erklärt habe, fanden es lustig, spannend und die haben es noch dazu verstanden!!! Sonst habe ich immer 3-4 Anläufe gebraucht ;)

Thursday, March 19, 2009 8:42:22 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | Client | Office | Server | SQL
# Monday, November 24, 2008

Verwendet man einen Server 2008 oder Vista in der Variante 64BIT, so bekommt man beim Aufrufen von Funktionen aus dem Visual Studio 2008 auf den SQL Server (Express) "häufig" eine Fehlermeldung, dass die DLL's für den Zugriff nicht installiert sind!

Was kann man hier tun?

Aktuell ist die Lösung beim Debug und Release auf X86 als Umgebung explizit umzustellen...

Keine gute Lösung wie ich finde - aber sie tut. Wenn jemand eine bessere Lösung hat, wäre eine Rückmeldung klasse.

Monday, November 24, 2008 1:48:33 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | Client | Deployment | SQL
# Sunday, February 24, 2008

Problem:

Beim VMWare Server oder Virtual Server war es möglich einen lokalen (internen) Testcluster zu erstellen. Dies ging intern über einen SCSI Adapter mit einer Shared Disk. Diese Shared Disk wurde dann bei beiden Cluster Nodes hinzugefügt. Über die Clustereinrichtung konnte man so zum Test sehr einfach einen kompletten Cluster aufbauen.

Alternativen unter Windows:

Nur ISCSI kann man ohne Probleme für einen Cluster unter Hyper-V nutzen. So kann man versuchen ein Windows Target als Demo zu nehmen. Bei allen kostenlosen Testversionen ist allerdings leider nach 30 Tagen Schluss :(.

Alternativen unter Linux:

Man könnte auch noch eine Virtuelle Maschine mit einem Linux Openfiler installieren und hieraus SCSI betreiben. Die Performence ohne aktuelle Guest Tools ist allerdings mehr als schlecht und daher auf dem gleichen System wahrscheinlich nicht die beste Alternative.

Fazit:

Aktuell ist es nach meinem Stand der Technik nicht möglich ohne SCSI oder richtige SAN einen virtuellen Guest Cluster zum Test unter Hyper-V zu installieren. Dies ist der erste deutliche Nachteil gegenüber den anderen Virtualisierung Plattformen. Bleibt zu hoffen, dass es hier bis zur RTM noch Änderungen gibt oder ich vielleicht doch noch einen Workaround übersehen habe.

Bitte:

Sollte jemand ein kostenloses oder günstiges ISCSI Target kennen, was unter Windows Server 2008 läuft und hier Volumes einfach bereitstellen kann, so wäre ich über eine Rückmeldung dankbar!

Sunday, February 24, 2008 7:25:56 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [1] -
Exchange | Server | SQL | Virtualisierung
# Saturday, February 23, 2008

Hyper-V Cluster erstellen

Ich bin gefragt worden, wie ein Cluster vom Hyper-V erstellt werden kann. Die Vorstellung, dass man einfach zwei Server installiert und sich die VHD's synchronisieren ist zwar echt verlockend, doch geht das leider nicht so einfach. Eine solche kontinuierliche Replikation ist mit dem SQL Server 2005 oder dem sonst so altmodischen Lotus Notes möglich, aber nicht mit dem normalen Windows Cluster Dienst vereinbar.

Alternativen

1.       Double Take

Das Programm Double Take ist nicht günstig, kann aber einen Rechner 1 zu 1 online klonen und immer Syncrhron halten. Die Software ist für Server 2003 zertifiziert. Ob oder wann der Hyper-V Clusterdienst unstützt wird ist hier aber vollkommen unklar, auch wenn die Lösung bereits auf einfacher Hardware laufen sollte!

2.       Veritas Cluster

Eine Replikation wie oben beschrieben kann mit dem teueren aber guten Veritas Cluster erreicht werden. Mir ist aber nicht bekannt, ob Server 2008 und Hyper-V von Veritas unterstützt werden oder für wann die Unterstützung avisiert wird.

3.       Microsoft Cluster

Die zur Zeit einzig "richtige" Möglichkeit ist den Microsoft Cluster Dienst zu verwenden. Hierzu installiert man den ersten Server, dann den zweiten. Nun weißt man dem ersten die SAN oder auch ISCSI Festplatten zu. Danach wird der Cluster über die Windows Boardmittel eingerichtet. Erst nach dieser Einrichtung darf der zweite Server die Platten sehen, da bei NTFS im Gegensatz zu Linux nur ein Server exklusiv auf so einen Clusterdatenträger schreiben darf. Das hat Vor- und Nachteile. Ein Streaming wie beim VMWare ESX wird durch diese Architektur ausgeschlossen, dafür wird aber die Sicherheit by Default deutlich erhöht. Danach kann nun  der zweit Clusterknoten auch mit Clusterdienst in den neuen Cluster hinzugenommen werden. Was sich einfach anhört ist in der Praxis zwar mit dem Server 2008 wesentlich einfacher geworden, doch ist es immer noch nicht trivial. Denn Erfahrung mit dem Thema und zertifizierte Hardware sollte hier selbstverständlich sein. Erfahrung kann man hier auch mit einem internen Cluster im Hyper-V sammeln!

Clusterhardware

Die ideale Clusterhardware ist natürlich ein redundantes SAN, aber das kostet sehr viel Geld. Daher kann man auch ein ISCSI San verwenden, wenn man günstig einsteigen möchte. Hier empfiehlt sich zum Beispiel Promise VTrak als Speicher ISCSI Target. In diese Promise Racks können 8-16 Festplatten gesteckt werden. Somit wären bei 750GB Festplatten und RAID 1 Spiegelung rund bis zu 5 TB (mit einer Hot Spare Platte) möglich. Um den Server gegen Überspannung oder Brand abzusichern sollte diese Hardware auch noch mal in ein zweites Rechenzentrum gestellt werden. Die Verbindung zu den Servern sollte über ein eigenes Netzwerk gemacht werden und es empfiehlt sich 10GBit LAN separat ohne Anschluss an die normale LAN zu verwenden. Die beiden Geräte untereinander werden ebenfalls verbunden. Womöglich sogar doppel über einen zusätzlichen Switch!!! Eine solche Lösung kostet ohne die notwendigen Netzwerkkabel rund 10000 für beide Systeme. Da der Kabelweg unterschiedlich lang sein kann, muss hier besonders auf die Gegebenheiten des Rechenzentrums geachtet werden!

Openfiler als Open-Source Software

Als Alternative kann man sich auch noch den Openfiler anschauen, der auf Linux / Open Soruce Basis auch ein SCSI Target bereistellen kann. Der Support und die Zuverlässigkeit würde ich aber im Vergleich zum Promise als deutlich kritischer sehen.

Software auf Windows Basis / Windows Storage Server

Auch für Windows gibt es diverse ISCSI Software. Da die Software aber sehr teuer ist und Microsoft selbst eine Lösung davon aufgekauft und in den Storage Server ingegriert hat bleibt nur die Empfehlung den Windows Storage Server mit ins Auge zu nehmen. Auch hier gibt es sehr gute Lösungen für Storage, die im bezahlbaren Rahmen bleiben. Die Administration ist mit der Windows Oberfläche für einen "normalen" Windows Admin besonders einfach und effizient. So kann hier ein Clusterpaar für ISCSI Target mit SQL, Exchnage, Hyper-V und auch für den normalen NAS Storage mit Speicherkontingenten der Windows File Services genutzt werden.

Saturday, February 23, 2008 11:03:47 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
Server | SQL | Virtualisierung
# Thursday, February 14, 2008

Zu den .NET Framework 3.5 gibt es 3 kostenlose Ebooks von Microsoft in Englisch. Diese umfassen die Themen LINQ, ASP AJAX und Silverligt.

http://csna01.libredigital.com/?urvs5cn3s8

-----

Auch das .NET Blog Book ist absolut empfehlenswert! Es umfasst die besten Tipps aus den Blogs und ist sogar in Deutsch.

http://www.dotnetcasts.com/Static.aspx?=dotnetblogbook

-----

Auch die Openbooks von Galileocomputing sind noch absolut empfehlenswert. Die Bücher Microsoft Netzwerke, Praxis OO, VB2005, c# 2005, Java und Excel 2007 sind absolut empfehlenswert.

http://www.galileocomputing.de/katalog/openbook

-----

Das VB2005 Microsoft Press Buch aus der Weihnachtsaktion gibt es auch noch und jetzt auch mit beiden Teilen frei zum Download.

http://www.microsoft.com/germany/msdn/aktuell/news/MicrosoftVisualBasic2005DasEntwicklerbuch.mspx

Thursday, February 14, 2008 9:24:56 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | Client | SQL | Web
# Thursday, December 06, 2007

Microsoft .NET ist extrem gefragt, wenn es um Softwareentwicklung geht. Dies schlägt sich nicht nur auf die Anzahl der Anwendungen, sondern auch auf den Arbeitsmarkt nieder. Für die Computerwoche habe ich hier zusammen mit 3 anderen Kollegen (autoscout24, jobscout24, WestLB und ich für meinen Arbeitgeber, die LBBW) ein Interview zum Thema .NET auf dem Arbeitsmarkt gegeben.

Der Artikel findet sich hier:

http://www.computerwoche.de/job_karriere/arbeitsmarkt/1849357/

Aktuell ist der Artikel nur online zu finden. Er wird aber im Januar auch in der Print Ausgabe zu finden sein.

Thursday, December 06, 2007 10:19:32 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [2] -
.net | SQL
# Tuesday, October 30, 2007

Lange habe ich rumsuchen dürfen, wie ich den ConnectionString von einem Dataset dynamisch in der Anwendung ändern kann und nun habe ich eine Lösung:

Was will ich denn eigentlich genau?

In der app.config wird die Einstellung zum Connection String abgelegt. Dieses ist prima, da man dieses manuell ändern kann, wenn dies notwendig ist. Nur kann es aber sein, dass der User einen von drei DB Servern beim Start auswählt (Test, Entwicklung, Produktion) und man dann den Connection String dynamisch ändern muss, da man bei dem Dataset nur eine Variable aus dem My.Settings hart verdrahten kann.

Wieso ist das ein Problem?

Nun stößt man erst darauf, dass die Settings unter My.Settings readOnly sind, wenn sie für eine Applikation deklariert sind. Einen Connection String kann man aber nur für eine Anwendung deklarieren und er ist somit IMMER ReadOnly.

Die Lösung

Tja daher muss man den Workaround von der folgenden Seite nehmen, um das Problem zu Lösen. Für meine Anwendung hat das ohne Probleme Funktioniert : http://www.mycsharp.de/wbb2/print.php?threadid=16723&page=1 . Hier kann dann der User den ConnectionString abändern aus der Anwendung per Funktion. Die My.Settings werden nach der Änderung neu geladen. Ob dieses bei häufigem Wechseln und eine großen Userzahl Probleme macht kann ich nicht sagen, da 99% der Zugriffe Produktion sein werden und hier der Server bis zu einer Migration sicher nicht geändert wird...

Tuesday, October 30, 2007 5:41:14 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | Deployment | SQL
# Tuesday, August 28, 2007

Ich habe eine EXE Datei ein 2 DLL's die im selben Verzeichnis liegen. Die beiden DLL's haben je 2 Konfigurationswerte "Test1" + "Test2" / "Test3" + "Test4". Die Werte werden in der DLL beim kompilieren als Standardwerte eingebrannt. Nun habe ich nur die DLL Dateien und will die Werte Ändern... Wie geht das?

Unter der Voraussetzung, dass DLL's und EXE den selben Namensraum haben, kann man einfach "Test1", "Test2", "Test3" und "Test4" in der Config Datei der EXE angelegt werden. Die dort gesetzten Standardwerte überschreiben dann die kompilierten Standardwerte der DLL's.

Daher sollte in den DLL's unbedingt dokumentiert werden, welche Config Werte gesetzt werden müssen / können. Kommen hier Werte hinzu, so muss, man diese auch in die EXE einbauen.

Sind die Werte nicht im gleichen Namensraum vorhanden, muss ein Verweis auf den anderen Namensraum gesetzt werden, wie es Thomas Schissler in seinem Blog macht. Man beachte, dass sein Tipp nur für c# gilt und unter vb.NET ein anderer Zweig angelegt werden muss. Nämlich der im My.Settings Bereich.

Hier der Link zu Thomas Schisslers Artikel: http://www.artiso.com/ProBlog/PermaLink,guid,8c0f402f-5186-4b31-aaa1-778f57082fb9.aspx

Tuesday, August 28, 2007 4:50:08 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | SQL
# Thursday, August 16, 2007

2 Tage Arbeit hat mir eine Fehlende Exception in der Windows Workflow Foundation gebracht!

Ich habe einen einfachen Workflow gebaut und ihn mit SQL Persistence und SQL Tracking an einen SQL Server 2005 angebunden. Die Datenbank blieb jedoch manchmal leer und wurde nur in seltnene Fällen gefüllt. Wo sucht man da, wenn das Programm erfolgreich durchläuft und kein Fehler gemeldet wird? Im Quellcode. So habe ich 2 Tage gesucht und nichts gefunden. Doch wie durch ein Zufall habe ich die Bedingung Runtime.StopRuntime mitten drin als Auslöser für eine Exception gesetzt und diesmal kam auch eine, die mich zur Lösung des Rätsels brachte...

MSDTC nicht auf Server blub Verfügbar...

Tja, dann habe ich geschaut und den MSDTC Dienst eingeschaltet. Er war hier gestoppt worden. Tja, nachdem der Dienst lief, war erstens die Fehlermeldung weg und zum zweiten wurden nun immer alle Events geloggt. Daher bleibt nur die Frage, wo die Microsoft Entwickler die Exceptions für die WF versteckt haben. Für Tracking und Persistence sind sie auf jeden Fall zu sparsam gewesen und ich würde es gar als Bug bezeichnen.

FAZIT: VOR der Benutzung der Persistence und Tracking Services in der Windows Workflow Foundation MSSTSC Dienst starten!!! MSDTC steht übrignes nicht für Distributed Transaction Controller...

Thursday, August 16, 2007 2:19:20 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Client | SQL | Workflow
# Friday, August 10, 2007

Ich hab den SQL Server 2008 installiert und habe keine großen Probleme bei der Installation gehabt. Der SQL Server 2008 ist nur eine Evolution zum SQL Server 2005 und auf den ersten Blick findet man keine großen Neuerungen.

  • Was mir sehr gut ins Auge gestochen ist, ist dass auch weiterhin DTS Packages wohl unterstützt werden. Dies sollte ja eigentlich nicht mehr der Fall sein, aber es gibt ja noch haufenweise solche alten Packete. Hoffentlich bleibt das dann auch in der Final so!
  • Was mir sehr negativ ausgefallen ist, dass der SQL Server 2008 sich nicht in das Visual Studio 2008 einklinckt, sondern das Visual Studio, was man gerade deinstalliert hat wieder installiert. Schlimmer noch ist aber, dass danach einem vom Windows Update wieder das SP1 um die Ohren bekommt. Das ist schade, denn das macht die Installation nicht kürzer. Dieser Punkt wird sich aber hoffentlich noch mit der nächsten Version ändern?!
  • Im Inneren ist die XML Unterstützung aufpoliert worden, was nun die Nutzung alle XML Daten ermöglicht. Bisher war die XML Unterstützung ja noch nicht vollkommen ausgereift.
  • Deutliche Verbesserung der Offline Fähigkeiten in Zusammenarbeit mit unterschiedlichen Clients und der Programmierung mit .NET 3.5 - in der Offiziellen Beschreibung steht zwar .NET 3.0 - aber das glaube ich nicht so ganz :)
  • Die BI Funktionen haben sich laut Beschreibung deutlich erweitert. Dies ist aber nicht der Focus meines Tests gewesen.
  • Das Policy Based Management von dem neuen SQL Server habe ich bisher noch nicht ausprobiert, es würde mich aber freuen, wenn die Berechtigungen noch weiter in ADS Kompatibilität gehen würden.

Alles in allem hat der SQL Server 2008 bis auf das XML noch keine "MUST HAVE" Features eingebaut. Aber vielleicht sehe ich das auch aktuell noch nicht so, wie man es schon bei der nächsten Beta sehen könnte :)

Friday, August 10, 2007 12:16:19 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Server | SQL
# Monday, July 30, 2007

Zu meiner ausführlichen Liste der Visual Studio 2005 Tools gesellen sich nun noch 3 weitere. Eines hatte ich vergessen und 2 sind seit den letzten Tagen neu dazu gekommen.

Visual Studio for Database Pro Trial ist das erste, was nur mit der Testversion vom VSTS Suite funktioniert. Es muss die gleiche Sprache vorhanden sein, wie für die Trial der Team Suite. Wer die volle Suite sein Eigen nennt, kann gerne auch die Version plus Database Tool von der MSDN Seite laden.

Jetzt gibt es ein Service Release für das Database Tool nicht ganz frisch dazu.

Auch neu ist eine Erweiterung der Visual Studio Tools for Office SE

Viele Spaß auf jeden Fall schon mal beim Testen und installieren!!!

Monday, July 30, 2007 11:54:04 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Deployment | Office | SQL
# Wednesday, July 25, 2007

Das Visual Studio 2005 ist nicht mehr ganz frisch und braucht einige Extensions um auf den aktuellsten Stand zu kommen. Ich suche dann immer bei einer Installation mir die Tools zusammen. Als Merker habe ich diese Tools einfach mal in einen Blog Eintrag mit Links zusammen gefasst:

Visual Studio 2005

·         Vollversion nur für MSDN Subscriber (über MSDN Anmeldung im geschützten Bereich)

·         Testversion 180 Tage

·         Express Editions (kostenlos, geeignet kleine Programme oder „Einsteiger“)

Extensions für die neuen Techniken:

·         Visual Studio 2005 SP1

·         Visual Studio 2005 SP1 Vista Patch

·         Windows Workflow Foundation

·         Visual Studio Tools for Office Second Edition

·         Extensions for WCF und WPF CTP (EN)

·         Extensions for Sharepoint 3.0 (EN)

·         Microsoft Expression Blend für die WPF Animationen und Co

·         Microsoft Sandcastle für automatische Dokumentation (EN)

·         ASP.NET Ajax Extensions (EN)

·         ASP.NET Ajax Toolkit (EN)

Auch ein paar Tools von Drittherstellern können sehr nützlich sein:

·         #ZipLib (EN, kostenlos, Zippen mit .NET)

·         Sandcastle GUI (EN, einfach und kostenlos, Autodokumentation GUI mit .NET)

·         Sandcastle Help File Builder (EN, komplex und kostenlos, Autodokumentation GUI mit .NET)

·         Sparx Enterprise Architect (EN, DEMO, UML Tool)

·         Sparx MDG Plugin for Visual Studio 2005 (EN, DEMO, UML Plugin)

·         Refactor! (EN, kostenlos, Refactoring for VB.NET)

·         PDFSharp (EN, kostenlos, PDF mit .NET)

·         SharpPDF (EN, kostenlos, PDF mit .NET)

·         iTextSharp (EN, kostenlos, PDF mit .NET)

·         Snippet Editor (EN, kostenlos, VB.NET Snippet Editor)

·         Interop Tools for Windows Forms (EN, kostenlos, Anbindung von VB6 Forms)

·         Codeplex (EN, viele weitere Shared Source Programme)

Wer nicht so viel installieren und zusammensuchen will, kann auch gerne das neue Visual Studio Orcas Downloaden. Dieses enthält alles wichtige, was sonst per Extension installiert wird und bietet darüber hinaus noch LINQ und weitere Features samt .NET 3.5 an.

·         Visual Studio Team Suite Orcas Beta 1 (EN)

·         Visual Studio Team Foundation Server Orcas Beta 1 (EN)

·         Visual Studio Express Editions Orcas Beta 1 (EN)

Auch als Virtuelle Maschine sind diese Betas zu haben!

·         Visual Studio Team Suite Orcas Beta 1 VHD (EN)

·         Visual Studio Team Foundation Server Orcas Beta 1 VHD (EN)

Alle Links werden ohne Gewähr und ohne Haftung für den Inhalt angeboten!!!

Wednesday, July 25, 2007 10:44:02 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Client | Deployment | Server | SQL
# Wednesday, July 18, 2007

Gestern wurde mir gesagt, dass das .NET Framework aber noch nicht ganz ausgereift / sicher ist. Diese Frage konnte ich nicht wirklich glauben, möchte aber nach guter Überlegung für den Fall, dass diese Frage erneut gestellt wird, die passenden Fakten zur Hand haben.

.NET ist Sicher, weil…

·         Das .NET Framework ist eine der am weitest Verbreitesten Anwendungen überhaupt.

·         In aller Welt sollen mehr als 250 Millionen Installationen gezählt sein.

·         Höchstverfügbarkeitslösungen wie die NASDAQ setzen mit Ihren Systemen komplett auf .NET.

·         Das Sicherheitskonzept CAS von .NET ist die breiteste Sicherheitsbarriere aller Softwarearchitekturen auf dem Markt.

·         Per Default ist das .NET Framework sicher, was auch zeigt, dass es bisher nur für ein Framework ein einziges Service Pack in 6 Jahren gibt.

.NET ist ausgereift, weil…

·         Die Releases von Anfang an wie bei JAVA im 1,5 Jahres Rhythmus erschienen sind

·         .NET die einzige Plattform der Welt ist, mit der man zertifiziert MMCI 5, also den höchst möglichen Entwicklungslevel der Prozesssicherheit, erreichen kann. (Microsoft)

·         Die Verbreitung von .NET Applikationen seit 2004 bei Neuentwicklungen vorne liegt und seit 2006 auch bei dem Bestand .NET an JAVA vorbei gezogen ist. (Technokrati)

·         Laut INETA noch kein PC auf Basis eines fehlerhaften RTM Frameworks abgestürzt ist.

·         Die Unterstützung der Plattform extrem breit aufgestellt ist und jeden Tag neue Entwickler hinzukommen.

.NET ist die Plattform für…

·         Aufwendige, Barriere freie GUI Applikationen mit der Presentation Foundation

·         Office Basierende Lösungen mit VSTO

·         Höchstkritische Datenbanklösungen mit dem SQL Server

·         Workflow Lösungen mit der Workflow Foundation

·         Webservice mit der ECMA Standardisierung der WCF die Plattform für Webservices

Wednesday, July 18, 2007 8:31:52 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | Client | Deployment | Office | Server | SQL
# Monday, June 04, 2007

Der alte Dual Opteron mit 2x Dual Opteron 242, 4GB Ram, 320 GB HD und so gut wie lautlos ist Geschichte.

Der neue Server ersetzt Ihn und auch meinen alten Desktop Rechner!

  • Seit 10 Jahren ist es erstmal wieder ein Intel Rechner und die ersten Erfahrungen ist absolute Extraklasse. Die virtualisierten Maschinen darauf sind derart schnell, dass man sagen kann, dass die Hardwarevirtualisierung mit Vanderpool sein Geld schon alleine Wert ist.
  • Auf dem Server ist nun ein Windows Vista Ultimate Edition 64 Bit installiert. Dieses läuft absolut stabil und kann die 8GB Ram komplett und einwandfrei verwalten!
  • Das Gerät ist trotz seiner Leistung nahezu geräuschlos und die Temperaturen liegen durchweg unter 40°C

Er hat folgende technische Daten:

  • Intel Core2Duo 6420
  • 8GB Ram von G.Skill 4x 2 GB DDR2-800
  • 1 Terrabyte Festplatte von WD 2x 500GB SATA-300, 7200 UMin, 16 MB Cache
  • ASUS Silent Geforce 8500 GT mit 512 MB Ram
  • ABIT Fatal1ty SLI 650 Board
  • Chieftech DX Dragon gehäuse Silber komplett gedämmt und Artic Fans 2x von Netzteil 80mm TC / Mainboard gesteuert 120mm

Fazit:

BÄRENSTARK und EXTREM leise. Weitere Berichte zur Software und zur Virtualisierung werden folgen...

Der alte Dual Opteron und der Athlon 1800 stehen übrigens zum Verkauf...

Monday, June 04, 2007 11:23:25 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | SQL

Dies ist ein recht umfangreicher Testbericht der neuen Funktionen der MSDN Rolle für Database Professionals.

Kurze Anmerkungn von Microsoft: Dieses Produkt ist auch außerhalb der MSDN zu erhalten. Doch lohnt sich der geringe Abschlag meist nicht. Für Professionelle Entwicklung sollte man sowieso auf das MSDN Abonnement setzen.

TestberichtVSDB.pdf (331,17 KB)

Monday, June 04, 2007 11:01:58 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0] -
.net | SQL
# Wednesday, February 07, 2007

Ein Select Befehlt auf ein Typed Dataset ist ein Kinderspiel, doch wie Thomas Schissler (http://www.artiso.com/problog) richtig schreibt ist das ganze Dataset eine V Technologie... Am Anfang Freude, dann Ernüchterung und am Ende wieder sehr viel Freude...

So ging es mir auch und ich habe mir 2 Fragen gestellt:

  • Wie kann ich eine View mit einem Typed Dataset updaten?

Das ist nicht automatisiert per klicken möglich heißt die ernüchternde Antwort. Doch hat das auch seinen Grund. Zwar kommt bei meiner View immer eine Datenzeile raus, die man sicher updaten kann, aber das ist ja nicht immer so. Von daher muss man das händisch machen. Dies ist notwendig, da man hiermit selbst zeigt, dass man weiß, was man tut. Man geht also im Typed Dataset hin, legt einen neuen Update Befehl an und los geht's mit der Aktualisierung

  • Wie kann ich zwei Tabellen Updaten mit einem Event vom Typed Dataset?

Nun möchte ich aber nicht nur eine Tabelle der View updaten sondern sogar 3 :( Es war ein harter Kampf das rauszufinden, aber es ist total einfach. Man setzt ein Updatestatement für die 1. Tabelle, eines für die 2. Tabelle und noch ein Update für die Log Tabelle hintereinander in den SQL String beim Typed Dataset... Doch wie trenne ich diese Anweisungen? Bei T-SQL geht das einfach mit ner neuen Zeile anfangen. Hier bringt das leider nur einen dummen Fehler. Nach Tagelangem verzweifeln hatte ich es aber dann endlich:

";"

Ist zum Trennen von mehreren SQL Strings notwendig. Wie einfach, oder?! Also mein Tipp daher: Wenn ich mitloggen will, was beim Update passiert, so mache ich bei nem Dataset einfach zwei Update Anweisungen rein. Das sollte sogar revisionssicher sein!!!

Wednesday, February 07, 2007 11:22:02 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | SQL
# Tuesday, December 05, 2006

Lange haben Sie gehalten, lange haben die Anwender mit Userunfreundlichen Benutzeroberflächen im Grün-Schwarz Look gearbeitet und nun merken die wichtigen Großbanken, dass es Sinn macht die Großrechner zu überdenken. Zwar sind die Umstellungskosten immens, aber danach geht's richtig fix weiter. Der Schwenk musste ja irgendwann kommen!

Nach der Norisbank, was eher ein kleiner Fisch ist, hat die NASDAQ als die größte Börse der Welt Ihre Großrechner durch SQL Server 2005 mit .net ersetzt. Diese wickeln insgesamt 5.000 Transaktionen pro Sekunde und 100.000 parallel ab. Es kommen 8 Cluster Systeme von Dell zum Einsatz. Die Betriebskosten konnten so um Faktor 10 gesenkt werden und die Neuentwicklungen gehen so meist in Tagen von der Hand. 1,3 Mio Institutionelle Kunden sind direkt angebunden und das Reporting ist ohne Locks der Datenbank in Echtzeit möglich!

http://go.microsoft.com/?linkid=5233610

Auf Basis der extrem guten Erfahrungen stellt auch die London Stock Exchange auch auf Windows Server mit SQL Server um.

http://download.microsoft.com/download/7/7/e/77e15b39-fef7-4eb2-95ef-b9b7b0691444/CS604_LSE_fin_211106.pdf

Mal sehen, wann die nächsten Banken folgen. Der Großrechner ist Geschichte, es lebe der SQL Server und seine Kollegen von Oracle und Co., die man auch nicht unterschätzen sollte.

Tuesday, December 05, 2006 9:47:28 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
Server | SQL
# Tuesday, November 28, 2006

Die SSIS Integration Services beim SQL Server 2005 bringen echt was. Ich kann nun mit VB.net eine Konvertierung von Daten machen und somit die Daten, die ich z.B. aus einer Textdatei bekomme sehr leicht anpassen.

Die Integration Services wandeln die Daten extrem einfach um, jedoch ist zu überlegen, wie komplex die Umwandlungen werden. Sollte das ganze doch zu komplex werden, wäre ein .net Programm als Transformation sicher der beste Weg, um Daten von A nach B zu schrieben.

In diesem Fall ging es aber gut mit den SSIS Script Tasks. Ich bekomme Daten aus einer Textdatei und muss diese in den SQL Server importieren. Diese dürfen allerdings nie NULL sein, sondern müssen immer numerisch 0 sein. Hier gehe ich so vor:

  • Source auswählen... z.B. Textdatei
  • Daten soweit nötig als Dateityp konvertieren
  • SkriptTask einfügen
  • Transformation als SkriptTask Art auswählen
  • Der Input steht fest. Nun die Variablen auswählen, die in den Output müssen (im zweifel alle)
  • Dann die Daten die in dem Skript geändert werden als ReadWrite markieren oder einen Output Alias angeben
  • Nun auf den SkriptDesigner gehen und siehe da, Visual Basic .net öffnet sich.
  • Wo Code einfügen steht kommt der Code rein. Die Variablen können über "Row.Variable" geprüft werden.
  • Bei mir wars:
    if row.spaltenname_isNull = true then
      row.spaltenname = 0
    end if
  • Nach dem man das fertig hat, einfach das Visual Studio Fenster schließen und fleißig testen...

Viel Erfolg mit eigenen VB.net Skripten dann im SSIS!

Tuesday, November 28, 2006 3:48:25 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0] -
.net | SQL
Navigation
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Florian Schmidt
Sign In
Statistics
Total Posts: 102
This Year: 0
This Month: 0
This Week: 0
Comments: 94
Themes
Pick a theme:
All Content © 2012, Florian Schmidt
DasBlog theme 'Business' created by Christoph De Baene (delarou)