Einzelne Seite im Querformat in einem Word Dokument

Heute wollte ich in Word eine Seite im Querformat in eine Dokument Einschieben das eigentlich im Hochformat eingerichtet war. Nach einiger Sucherei hab ich es dann gefunden, war einfacher als ich dachte. Da hat Microsoft doch gut mitgedacht.

Wer das so etwas auch in Word lösen möchte geht wie folgt vor:

  1. Am Ende der letzten Seite die hochformtig ist, fügst Du einen manuellen Abschnittwechsel ein (Einfügen -> Wechsel -> Abschnittwechsel (nächste Seite))
  2. Jetzt setzt Du den Cursor auf die neue erste Seite nach dem Abschnittwechsel und wählst als Format Querformat aus (Datei -> Seite einrichten -> Ausrichtung Quer)

… jetzt müßte der neue Abschnitt quer sein, während die Seiten davor weiter hochformatig sind. Dieses Spielchen läßt sich beliebig oft wieder holen.

Transaktionssichere Stored Procedure im SQL-Server 2005

Heute hatte ich wieder ein interessantes Problem im SQL-Server 2005. Ich musste eine Prozedure schreiben die Transactionssicher war, das heißt die Veränderungen im Fehlerfalle richtig zurücknimmt, aber auch ein Rollback durch äußere Transaktionen zuläßt.

Hier die Lösung die ich gefunden habe:


CREATE PROCEDURE [dbo].[UpdateOrInsertValue]

@Key int, --Primary Key
@Value money = 0 --Value

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

DECLARE @TranCounter INT;
SET @TranCounter = @@TRANCOUNT;
IF @TranCounter > 0
SAVE TRANSACTION VerteilungNachMonatenSpeichern;
ELSE
-- Procedure must start its own
-- transaction.
BEGIN TRANSACTION;

BEGIN TRY

-- Monat 1
UPDATE table1 SET Wert = @Value WHERE (ID = @Key)
if @@ROWCOUNT <1 Insert into Table1 (ID, Wert) values (@Key, @Value) IF @TranCounter = 0 COMMIT TRANSACTION; END TRY BEGIN CATCH IF @TranCounter = 0 -- Transaction started in procedure. -- Roll back complete transaction. ROLLBACK TRANSACTION; ELSE -- Transaction started before procedure -- called, do not roll back modifications -- made before the procedure was called. IF XACT_STATE() <> -1
-- If the transaction is still valid, just
-- roll back to the savepoint set at the
-- start of the stored procedure.
ROLLBACK TRANSACTION VerteilungNachMonatenSpeichern;
-- If the transaction is uncommitable, a
-- rollback to the savepoint is not allowed
-- because the savepoint rollback writes to
-- the log. Just return to the caller, which
-- should roll back the outer transaction.

-- After the appropriate rollback, echo error
-- information to the caller.
DECLARE @ErrorMessage NVARCHAR(4000);
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;

SELECT @ErrorMessage = ERROR_MESSAGE();
SELECT @ErrorSeverity = ERROR_SEVERITY();
SELECT @ErrorState = ERROR_STATE();

RAISERROR (@ErrorMessage, -- Message text.
@ErrorSeverity, -- Severity.
@ErrorState -- State.
);
END CATCH

END
GO

Failed to map the path ‘/YourApplication/App_GlobalResources’

Heute hatte ich ein ziemlich heftiges Problem mit einer ASP.Net-Installtion auf meiner Workstation, kann aber sicher auch auf Windows-Servern auftreten. Ich hatte eine funktionierende ASP.Net-Installation in meinem IIS, alles tat wunderbar. Eigentlich hatte ich nichts daran verändert, außer die üblichen Microsoft-Updates, diese müssen sich auf den IIS so ausgewirkt haben, das nix mehr ging. Ich würde es auf ein SP1 des Visual-Studio2005 schieben, das hat ja einige Änderungen am .Net-Framework vorgenommen. Möglicherweise ist beim Update was nicht korrekt aktualisiert worden.

Auf alle Fälle war aus die Maus, alle Webs meldeten folgenden Fehler:

Der Pfad /LISgoogleEarth/App_GlobalResources/ konnte nicht zugeordnet werden.
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

Ausnahmedetails: System.InvalidOperationException: Der Pfad /LISgoogleEarth/App_GlobalResources/ konnte nicht zugeordnet werden.

Quellfehler:

Beim Ausführen der aktuellen Webanforderung wurde einen unbehandelte Ausnahme generiert. Informationen über den Ursprung und die Position der Ausnahme können mit der Ausnahmestapelüberwachung angezeigt werden.

Stapelüberwachung:

[InvalidOperationException: Der Pfad /LISgoogleEarth/App_GlobalResources/ konnte nicht zugeordnet werden.]
System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +3530188
System.Web.Compilation.BuildManager.CheckTopLevelFilesUpToDate2(StandardDiskBuildResultCache diskCache) +306
System.Web.Compilation.BuildManager.CheckTopLevelFilesUpToDate(StandardDiskBuildResultCache diskCache) +46
System.Web.Compilation.BuildManager.RegularAppRuntimeModeInitialize() +419
System.Web.Compilation.BuildManager.Initialize() +235
System.Web.Compilation.BuildManager.InitializeBuildManager() +228
System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +310

[HttpException (0x80004005): Der Pfad /LISgoogleEarth/App_GlobalResources/ konnte nicht zugeordnet werden.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +3435023
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +252

——————————————————————————–
Versionsinformationen: Microsoft .NET Framework-Version:2.0.50727.42; ASP.NET-Version:2.0.50727.210

Ich habe im Netz gesucht und habe einige Hinweise gefunde woran es liegen könnte. Hauptsächlich ging es um den Zugriffschutz in der Registry. Bei mir lag es daran, das der Benutzer ASP (der Benutzer der im IIS ASP.Net-Anwendungen ausführt) hatte nicht genügend Rechte in der Registry auf folgenden Pfad: HKEY_CLASSES_ROOT\Interface\{70B51430-B6CA-11D0-B9B9-00A0C922E750}.

Bei anderen Benutzern fehleten Rechte auf das Verzeichnis C:\WINNT\Profiles\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys.

Sollte das nicht ausreichen empfiehlt es sich mit FileMon oder RegMon das Filesystem oder die Registry zu monitoren, ich denke so wird man schnell das Probelm finden.

P.S: Auf diese Tip gibt es keine Garantie das es das Problem auch bei Ihnen löst.

Window-Update – Fehler 0x8DDD0009

Heute gab es wieder Spaß mit Windows. Diesmal war der Windows-Update-Service betroffen, nach dem letzten Patch-Day der Windows-Update-Service über den Internet-Explorer nicht mehr ausgeführt werden. Es kam zu einem Fehler mit der Fehlernummer: 0x8DDD0009

Der Internet-Explorer schlug eine Lösung vor: Internet-Explorer schließen (mußte ich erst abschießen), temporäre Dateien löschen und nochmal probieren.

Hat aber nicht geholfen. Nach etwas googlen und im Forenlesen ab ich dann die Lösung gefunden die bei mir funktioniert hat.

Als erstes habe ich die msxml3.dll neu registriert. Das geht ganz einfach. Unter “Start/Ausführen” (oder Windows-Taste + R) gibt man “regsvr32 msxml.dll” ein.

Als nächstes stoppt man den Dienst Automatisches Update im Dienstmanager. (zu finden in der Computerverwaltung/dienste in der Systemsteuerung) Nachdem das passiert ist, muß man das Verzeichnung {Windows}\SoftwareDistribution löschen oder umbenennen. Ich habe es erstmal umbenannt. Wenn man das getan hat, startet man den Dienst wieder und öffnet den Internet-Explorer.

Im Internet-Explorer löscht man alle temporären Dateien, und auch die Offline-Inhalte und startet das Windows-Update, was dann sauber funktionieren sollte.

Ich hoffe allen Betroffenen damit geholfen zu haben.

Freie Bücher zum Thema Softwareentwicklung

Fast wieder ein Netzfundstück der Woche. Die Galileo Press GmbH veröffentlich interessante Fachbücher aus dem Bereich Softwareentwicklung zum online lesen und herunterladen.

Zur Zeit sind folgende Bücher als Openbooks verfügbar:

Viel Spaß beim lesen und lernen.

Yahoo und MSN Search implemetieren Google-Sitemaps-Support

Yahoo und MSN Search kooperieren mit Google und implementieren Schnittstellen, um Google-Sitemaps als Futter für Ihre Such-spider zu nutzen.

Wer mehr über das Sitemaps wissen möchte schaut am besten unter sitemaps.org gut nachlesen, wie das XML-Format aufgebaut ist.

Yahoo ist schon soweit und man kann unter siteexplorer.search.yahoo.com seine Domain bzw. Sitemap regisitieren.

Microsoft braucht mal wieder etwas länger, bin gespannt wie die das umsetzen.

Fraglich bleibt aber, ob durch die Integration von Sitemaps in den Suchmaschinen die Qualität des Suchergebnisse besser wird oder ob die Suchmaschinen nur mehr Müll zum scannen vorgesetzt bekommen, denn durch eine Sitemap wird das ja leichter 🙂

Achja, noch ein kleiner Tip am Rande, man kann Google über die URL : http://www.google.com/webmasters/sitemaps/ping?sitemap=[URL zur Site] benachtigen, das sich eine Sitemap geändert hat … cool nich … wer weiter Tipps und Tricks zu Google Sitemaps hat kann das hier gern als Kommentar posten.

Wenn der Webserver zur Spam-Schleuder wird

Heute habe ich auf einigen meiner Seiten, die Formular überarbeitet, welche Daten per Email an mich verschicken. Meine Seiten sind bekannter geworden und da hat man mit Problemen zu kämpfen, wie alle großen Seiten. Hacker versuchen meine Seiten für Ihre Zwecke zu verwenden.

Gemerkt habe ich dass, als ich vermehrt Email mit ganz komischen Inhalt bekommen habe. Also ab nach Google und dort mal gesucht und siehe da … HACKER-ARLAM …

Wer mehr wissen möchte kann hier nachlesen http://www.heise.de/security/artikel/66815