Dienstag, 18. Dezember 2007

ADO.NET Timeout

Aufwändige Abfrage


Wird aus einer .Net Applikation per ADO.NET eine aufwändige Abfrage an einen SQL-Server abgesetzt, kann es zu folgender Fehlermeldung kommen, wenn das Ergebnis nicht rechtzeitig geliefert wird:

"The timeout period elapsed prior to completion of the operation or the server is not responding."

Connect Timeout im ConnectionString


Im ConnectionString kann ein längerer Zeitraum festgelegt werden (z.B.: server=myServer;uid=myUser;pwd=myPassword;database=myDatabase;Connect Timeout=60)

Hinweis


Unter http://www.dotnet247.com/247reference/msgs/57/289664.aspx bin ich auf den interessanten Hinweis gestossen, dass die Zeitangabe mindestens bedeutet, nicht höchstens.

CommandTimeout


Das Connection-Timeout anzupassen ist nicht genug.
Beim SqlCommand-Objekt ist noch das Property CommandTimeout auf die gewünschte Anzahl Sekunden zu setzen (z.B.: cmd.CommandTimeout=100;).

Diese Lösung stammt von http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=357.

Sonntag, 16. Dezember 2007

Visual Studio 2008 Solution in VS 2005 öffnen

Wenn man eine Visual Studio Solution, die mit VS 2005 erstellt wurde, in VS 2008 öffnet, wird automatisch ein Assistent zum konvertieren der Solution gestartet.

Will man diese Solution dann wieder in VS 2005 öffnen, weigert sich dieses.

Da VS 2008 wahlweise auch für .Net 2.0 verwendet werden kann, sollte nichts dagegen sprechen daran mit VS 2005 weiterzuarbeiten.

Ich war in der Situation, dass eine Applikation die ich mit VS 2008 begonnen habe, von jemandem, dem nur VS 2005 zur Verfügung stand, weiter entwickelt werden sollte.

Der Vergleich einer VS 2005- und einer VS 2008-Solution-Datei hat keine wesentlichen Unterschiede feststellen lassen.

So sehen die ersten beide Zeilen einer Solution-Datei aus VS 2008 aus:

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008


Nach dem ändern von
... Format Version 10.00
auf
... Format Version 9.00
und
# Visual Studio 2008
auf
#Visual Studio 2005
lässt sich die Solution in VS 2005 wieder öffnen.

Montag, 10. Dezember 2007

Entity Framework Beta 3 unter Vista x64 installieren

ADO.NET Entity Framework wird für x86 und x64 zum Download angeboten, die Tools nur für x86.

Es lassen sich auch die Tools unter Windows Vista x64 installieren und scheinen soweit problemlos zu funktionieren.

Für die Tools wird vorausgesetzt, dass der XML Editor QFE istalliert ist.

Nachfolgend die Links zum Download in der Reihenfolge wie sie installiert werden müssen:

  1. ADO.NET Entity Framework Beta 3 (x86 und x64)
  2. XML Editor QFE (x86)
  3. ADO.Net Entity Framework Tools Dec 07 Community Technology Preview (x86)
Weitere interessante Links zum Entity Framework:

Attach einer Datenbank funktioniert unter Windows Vista nicht.

Wieder hat Vista's UAC hier seine Finger im Spiel.

Umgehen lässt sich das Problem indem man dem Benutzer, unter dem das Management Studio gestartet wurde, Vollzugriff auf das Verzeichnis mit den Datenbankdateien gewährt.

Unter Windows Vista schlägt die Installation von MS SQL Server Management Studio Express fehl: Error 29506

Fehlermeldung
Wenn unter Windows Vista die Installation des Management Studio Express mit obiger Fehlermeldung abbricht, liegt es an Vista's UAC

Das Problem kann umgangen werden, indem die Installation über einen Command Prompt mit Administratorenrechten startet.

Command  Prompt mit Administratorrechten
Im Command Prompt einfach die Installationsdatei (z.B.: c:\Download\SQLServer2005_SSMSEE_x64.msi) ausführen. Damit sollte es funktionieren.

Freitag, 7. Dezember 2007

In Firefox gespeicherte Passwörter übertragen

Mein Notebook hat eine neue Harddisk verpasst bekommen :-)

Nach einem halben Jahr ist es sowieso höchste Zeit Windows neu aufzusetzen, daher habe ich nicht die bestehende Installation auf die neue HD übertragen, sondern Windows Vista (x64) frisch aufgesetzt.

Die im Firefox gespeicherten Passwörter wollte ich nicht neu erfassen sondern direkt übernehmen.

Die alte HD wurde in ein externes Gehäuse gesteckt und als Laufwerk I: gemounted.

Um die Passwörter zu übertragen sind zwei Dateien zu kopieren (Firefox vorher beenden):

I:\Dokumente und Einstellungen\MeinWindowsUserName\Anwendungsdaten\Mozilla\Firefox\Profiles\9x399sre.default\key3.db
sowie
I:\Dokumente und Einstellungen\MeinWindowsUserName\Anwendungsdaten\Mozilla\Firefox\Profiles\9x399sre.default\signons2.txt

in das Verzeichnis
C:\Users\MeinWindowsUserName\AppData\Roaming\Mozilla\Firefox\Profiles\sb459zt1.default

Wer schlau genug ist und vor dem Ausbauen der alten HD daran denkt, dass er die Firefox-Konfiguation übernehmen will, kann sich die Arbeit erleichtern indem er z.B. das Firefox-Add-In Firefox Environment Backup Extension installiert und damit die gesamte Firefox-Konfiguration sichert.