Programmierung

Einrichten einer 32bit-ODBC-Quelle auf einem 64bit-System

28. März 2015 · Programmierung · andreas · 2 Kommentare

Versucht man auf einem 64bit System mit 32bit Software auf eine ODBC-Quelle zuzugreifen, so erhält man statt der erhofften Daten lediglich eine Fehlermeldung:

connection failed: [Microsoft][ODBC Driver Manager] Der angegebene DSN weist eine nicht übereinstimmende Architektur von Treiber und Anwendung auf. (SQL-IM014)

Auf den ersten, zweiten und dritten Blick bietet Windows auch keine Möglichkeit, die gewünschte Architektur der Datenquelle anzugeben. Der Trick liegt im expliziten Aufruf des ODBC-Datenquellen-Administrators “odbcad32.exe” im Pfad “C:\Windows\SysWOW64”, auf den standardmäßig kein Link im Startmenü gesetzt wird.

Da die Verwaltungsoberflächen für 32bit und 64bit nicht gekennzeichnet sind, hilft im Zweifelsfall ein Blick in die Prozessliste des Taskmanagers: hat die dort aufgefühte “odbcad32.exe” den Zusatz “*32”, so ist aktuell die Verwaltung für 32bit-Datenquellen gestartet. Fehlt dieser Zusatz, ist die Verwaltung für 64bit Datenquellen aus dem Verzeichnis “C:\Windows\System32” aktiv.


Versionsverwaltung mit Fossil

5. März 2015 · Programmierung · andreas · Kein Kommentar

Im privaten- oder Hobbybereich nur selten eingesetzt, kann eine Versionsverwaltung auch hier helfen den Überblick zu behalten. Egal, ob der Umfang über eine Hand voll Dateien oder die Skriptlänge über eine Bildschirmseite wächst - irgendwann führen temporär umbenannte Dateien und ge-zip-pte Versionen mehr zur Verwirrung denn dazu, im Falle eines Falles nochmal die letzte funktionierende Version rekonstruieren zu können.

Ein Blick auf einen der Big Player wie Git macht allerdings wenig Lust darauf, ein Versionsmanagement einzusetzen: alleine die Installion und Konfiguration wird mit ein bißchen Pech leicht zu einem Unterfangen, das die Größe des eigentlich zu verwaltenden Projekts deutlich übersteigt.

Als schlanke und sowohl einfach zu installierende als auch zu konfigurierende Alternative entpuppt sich Fossil, dessen Installation aus dem Herunterladen einer gepackten Datei besteht mit der dann dach dem Entpacken in einen beliebigen Ordner sofort losgelegt werden kann. Wer es etwas komfortabler haben will, entpackt die Datei irgendwo innerhalb des Suchpfades oder erweitert diesen um das Verzeichnis, in dem die ausführbare Fossil-Datei liegt.
Ein weiterer Vorteil von Fossil liegt darin, daß ein Fossil-Repository lediglich aus einer SQLite-Datenbank besteht, somit also im Bedarfsfall problemlos auf einen USB-Stick, Cloudspeicher (oder sonstwohin) kopiert und an einem anderen Ort weiterverwendet werden kann.

Weiterlesen


Alle Jahre wieder

24. Dezember 2013 · Programmierung · andreas · Kein Kommentar

Allen Bloglesern ein entspanntes Weihnachtsfest und einen unfallfreien Rutsch in ein gesundes und glückliches 2014!

                                     +
                                     |
                                    / \
                                   ( i )
                                   /_ _\
                                  ( i i )
                                  /._ _.\
                                 ( i i i )
                                 /-._ _.-\
                                ( i i i i )
                                /'-._ _.-'\
                               ( i i i i i )
                                ^'-._ _.-'^ 
                                    |_| andi 2oo4

Anbei noch ein Tannebäumchen, das ich 2004 außer Konkurrenz in Perl für den Weihnachtsbaum-Wettbewerb von Thomas Walter erstellt habe.

Wer das entsprechende Skript habem möchte - bitteschön!

Download xmastree.rar (RAR-Archiv, 0.5kB)!


XML-Dateien aufhübschen

19. Dezember 2013 · Programmierung · andreas · Kein Kommentar

Genau wie Maschinen oft Probleme haben, etwas für Menschen problemlos verständliches zu verarbeiten, so blickt ein Mensch dann und wann auf den Inhalt einer maschinenlesbaren Datei und kann darin nur wenig erkennen.

Geht es um die Verarbeitung von XML-Dateien, so können wenige Zeilen Perl eine deutliche Verbesserung schaffen - zum Beispiel bei der Aufbereitung einer “SEPA Payments"-XML-Datei.

use strict;
use warnings;
use XML::LibXML;
use XML::LibXML::PrettyPrint;

my $file = $ARGV[0] || die "usage: pretty.pl inputfile.xml\n";

my $document = XML::LibXML->new->parse_file($file);
my $pp = XML::LibXML::PrettyPrint->new(

indent_string => chr(9),
element => {
compact => [qw/MsgId CreDtTm PmtInfId PmtMtd NbOfTxs CtrlSum Cd ReqdExctnDt Nm IBAN BIC ChrgBr EndToEndId InstdAmt Ustrd/],
}
);
$pp->pretty_print($document);

open(sFILE, '>pretty-' . $file);
print sFILE $document->toString;
close (sFILE);

Die hauptsächliche Arbeit übernimmt das Modul XML::LibXML::PrettyPrint, dessen Ausgabe mit Hilfe einer Reihe von Parametern an die jeweiligen Bedürfnisse angepasst werden kann.


Stylesheets aufräumen mit SASS

11. Dezember 2013 · Programmierung · andreas · Kein Kommentar

SASS, die Syntactically Awesome StyleSheets bieten einiges an Funktionalität, die man sich bereits im Rahmen des CSS1-Standards gewünscht hätte. Wer alle Optionen in Augenschein nehmen will, sollte einen Blick in die offizielle Referenz werfen, dieser Beitrag soll nur einen kurzen Einblick in die Möglichkeiten geben, mit geringem Aufwand die Wartbarkeit von Stylesheets deutlich zu verbessern.

Hierzu wird die Sassy CSS-Syntax (SCSS) verwendet, eine Erweiterung des CSS3-Standards. Jedes valide CSS3-Stylesheet ist auch gleichzeitig ein valides SCSS-Stylesheet und die Änderungen können flexibel auf der Basis bereits bestehender Stylesheets eingearbeitet werden.

Weiterlesen