Manuel Kukla's Blog

IT, Finanzen, Aktien, Kuriositäten und alltägliches

H2 Database unter .NET via ODBC

Für mein letztes Projekt (einer Statistik-Seite für Burst-Einnahmen http://burstcoin.mku.name:8080/) benötigte ich eine Verbindung zur H2 Datenbank via ASP.NET.

Da ich nicht gleich fündig geworden bin, folgt hier eine kurze Anleitung zur Verwendung der H2 Datenbank unter .NET.

Der nach meinem Erkenntnisstand einfachste Weg besteht darin, einfach den ODBC-Treiber von PostgreSQL zu verwenden. Dieser kann auf der Website von PostgreSQL heruntergeladen werden (http://www.postgresql.org/ftp/odbc/versions/dll/). 

Die Verbindung unter C# sieht dann wie folgt aus:

String sConn = "Driver={PostgreSQL ANSI" + (System.Environment.Is64BitProcess ? "(x64)" : "") + "};"+
               "database=C:\\burst\\burst_1.2.0\\burst_db\\burst;" +   
               "server=localhost;port=5435;uid=sa;pwd=sa;";
using(OdbcConnection conn = new OdbcConnection(sConn))
{
   conn.Open();
   using(OdbcCommand cmd = new OdbcCommand("SELECT * FROM tTest", conn))
   {
     //..
   }
}

Zu beachten ist folgendes:

  • der abweichende Standardport: 5435. Dieser ist beim Start des h2-Servers als PG server ersichtlich.

  • Unterschiedlicher Provider bei x64 und x86 (Stolperstein bei angehängtem Debugger / Release-Version)


Die alternative Bibliothek H2Sharp habe ich nicht mehr zum Laufen gebracht. Ich scheiterte an der Fehlermeldung ... "driver version 6 ... client version 0...". Ich gehe davon aus, dass mein H2 Server zu neu ist, und die Bibliothek nicht mehr damit kompatibel ist. Die letzte Version von H2Sharp ist von 2008.

PostgreSQL x64 ODBC Treiber unter einem frischen Windows Server 2012R2 Standard und der Systemfehler 126

Kürzlich benötigte ich für die H2 Datenbank (http://www.h2database.com/html/main.html) einen ODBC-Treiber als Schnittstelle für .NET. Die Installation auf meiner Entwicklungsmaschine klappte problemlos, (fast) genauso wie die Verbindung zur Datenbank selbst. Dies werde ich aber noch in einem eigenen Post behandeln.

Nun aber zum Problem beim Produktivsystem. Dort konnte ich problemlos die letzte x86-Version des Treibers installieren, nicht jedoch die benötigte x64 Version.

Dort erhielt ich folgende Fehlermeldung beim Setup:

(Zusammenfassung für Suchmaschinen: PostgreSQL ANSI(x64) ODBC error 13: Die Setup-Routinen für den PostgreSQL ANSI(x64) ODBC-Treiber konnten nicht geladen werden. Systemfehlercode 126: Das angegebene Modul wurde nicht gefunden. ...psqlodbc30a.dll).. Verify that the file PostgreSQL ANSI(x64) exists and that you can access it.)


Die Lösung dieses Problems lag darin, dass vor dem Setup die VC++ 2010 Redistributable installiert werden musste. Auf dem Entwicklungssystem war diese natürlich bereits vorhanden, somit hatte ich dort auch kein Problem.

Ich installierte zur Sicherheit gleich beide Versionen (x86 und x64). Diese sind unter http://www.microsoft.com/en-us/download/details.aspx?id=5555 erhältlich. Danach klappte alles wie erwartet. 


 


Far Cry 4 und der Fenstermodus

Frohe Weihnachten allerseits,

ein nerviges Problemchen der letzten Wochen ist nun endlich behoben. Kurze Vorgeschichte: Ich habe seit vielen Jahren 2 HP-Monitore, einen LP2465 (1920x1200) und einen LP2065 (1600x1200). Beim Spielen verwende ich logischerweise den größeren (Hauptmonitor), und bei fast jedem neuen Spiel gibt es immer wieder lustige Effekte im Vollbildmodus. Manchmal kann man nicht nach rechts scrollen, weil man aus dem Spiel "herausfährt", manchmal geht überhaupt nur der Fenstermodus usw.

 

Das bisher lästigste Phänomen trat allerdings bei Far Cry 4 auf: Das Spiel ist bei 2 Monitoren nur im Vollbild-Modus spielbar (sonst kann man beim Schießen danebenklicken und fliegt in ein anderes Programm), aber der Vollbild-Modus stellt sich noch dazu in den unpassendsten Momenten wieder auf den Fenstermodus um. Ich hoffte auf einen baldigen Bugfix, jedoch passierte nichts.

 

Wie sich später herausstellte, liegt das Problem anscheinend nicht direkt an Far Cry, sondern an der Fernsteuerungs-Software TeamViewer. Sofern man das Programm inkl. den Dienst beendet, ist der Spuk vorbei.

 

Nachzulesen unter:

https://steamcommunity.com/app/298110/discussions/0/624075566773320500/?l=german

 


 

Export-VM und der Fehlercode 0x80070057

Zur Sicherung meiner VMs habe ich unlängst eine 4TB USB 3.0 Festplatte gekauft. Diese wurde vorformatiert geliefert und somit sollte der längst überfälligen Sicherung eigentlich nichts mehr im Weg stehen. Falsch gedacht!

Zum tatsächlichen Sichern wollte ich dann den Powershell-Befehl "Export-VM VMName -Path N:\VHDExport" verwenden, jedoch kam nach kurzer Zeit der Fehlercode 0x80070057 und der Export brach ab. Zuerst dachte ich, dass Microsoft wiedermal bei der Abwärtskompatibilität geschlampt/optimiert hatte, und die Windows Home-Server 2011-VM (technisch 2008R2) deshalb nicht online gesichert werden konnte. Aber auch mit ausgeschalteter VM änderte sich die Fehlermeldung nicht.

Nach dem manuellen Kopierversuch wurde das Rätsel dann allerdings schnell gelöst. Der Hersteller (intenso) hatte die 4TB-Platte doch tatsächlich mit FAT32 formatiert. An dieser Stelle: Gratulation! ^^

Nach einem kurzen, gezielten Formatieren mit NTFS war die Geschichte dann wieder erledigt, und die VM begann (auch online) den Export.


 

Windows und die unlöschbaren Files

Bei meinem Netbook hatte ich kürzlich das Problem, dass meine C-Partition vollgelaufen ist. Aufgrund des Upgrades von Windows 8 auf Windows 8.1 blieb am Rechner noch der Ordner Windows.old zurück, welchen ich löschen wollte. Dies war allerdings nicht ganz so leicht wie erwartet, da die Berechtigungen (auch für einen Administrator) nicht ausreichten.

 

Mittels der folgenden Befehle war dies dann aber recht schnell gelöst:

takeown /f * /r /d y

icacls C:\x.Windows.old\ /reset /T

icacls C:\x.Windows.old /grant HOSTNAME\deinUser:(F) /T

 

Der erste Befehl übernimmt die Besitzrechte für die Files, der zweite Befehl setzt spezielle Berechtigungen für Unterordner / Files nochmals zurück.

Der dritte Befehl setzt nochmals explizit für den angegebenen Benutzer Vollzugriff. Diesen Befehl musste ich für einige Spezial-Ordner wiederholen (z.B.: WinSXS).

 

Im Endeffekt konnte ich den Ordner nun vollständig leeren - wodurch aber trotzdem "nur" 7,86 GB mehr auf C: frei sind. Memo an mich selbst: Eine Partitionierung ist auf einer 160GB-SSD absolut nicht sinnvoll^^

In naher Zukunft werde ich wohl nochmal neu aufsetzen müssen, da ich beim Umbau von HDD auf SSD etwas "gepfuscht" habe und dieses Chaos von der ASUS-Werksinstallation nicht gleich beseitigt habe...

 

 

P.S.: Wer ein ASUS X200 CA bereits einmal zerlegt, und die HDD gegen eine SSD ersetzt hat, wird verstehen, warum man danach froh ist, wenn noch alles funktioniert - das Ding hält nämlich neben ein paar Schrauben auch noch durch gefühlte 300 Plastiknasen auf sämtlichen (auch unzugänglichen) Gehäusekanten zusammen. Ein Samsung Handy ist dagegen ein Kinderspiel ^^

Exchange 2010 und 451 4.4.0 DNS Query Failed

Unlängst trat ein komisches Problem auf einem Exchange Server 2010 auf. Fast alle Mails wurden korrekt zugestellt, jedoch gab es einige wenige Ausnahmen. Die Empfänger-Adresse schien richtig zu sein, die mx-Einträge waren auch vorhanden, und die Empfänger-Server antworteten auf Port 25. Alles so weit so gut, nur die Mails blieben auch weiterhin zuverlässig in der Warteschlange hängen.

Ich konnte das Problem teilweise auf Empfänger mit Exchange Online Protection eingrenzen, jedoch trat dies auch bei der hp.com-Domain auf. Nach einer Recherche wurde ich - anscheinend auf der derzeit so ziemlich einzigen Seite mit der richtigen Lösung fündig (Link für diejenigen, die nachlesen möchten am Ende des Beitrages).

Bis dato trat das Problem nur auf Windows Server 2008 R2 SP1 mit Exchange 2010 auf, aber auch nicht auf allen Systemen. Ich bin gespannt, wie lange es dauert bis seitens Microsoft etwas zu hören ist.

 

Die zusammengefasste Lösung:

Am Mailserver (bzw. Edge-Server, sofern vorhanden) den Sendekonnektor öffnen:

Den Tab "Netzwerk" öffnen und am Ende des Dialoges den Haken "Die Einstellungen für externes DNS-Lookup auf dem Transportserver verwenden" setzen.

 

 

Danach ggf. Exchange-Transport-Dienst neu starten, oder einfach nur abwarten bis die Zustellung der Mails erneut durchgeführt wird.

Update vom 13.11.2014:

 Lt. Kommentaren in der Quelle hat sich herausgestellt, dass es vermutlich an EDNS (http://de.wikipedia.org/wiki/EDNS) liegt, und scheinbar nur dann auftritt, wenn der verwendete DNS-Server ein Windows Server 2012 R2 ist. Ich kann diese Theorie insofern bestätigen, dass beide betroffenen Systeme 2012R2 DNS-Server verwenden.

 

Englischsprachige Quelle:

http://exchangeserverpro.com/messages-queuing-error-451-4-4-0-dns-query-failed/#comment-136161

Kurz nachgerechnet: 3% Sparefroh Sparen für Kinder

Da es in letzter Zeit auf vielen Werbeplakaten zu lesen ist, habe ich nur mal rein theoretisch nachgerechnet:

3% Zinsen klingt nach sehr viel, wer will das nicht? Aber die Limitierung auf 500€ macht das ganze dann wieder ziemlich zunichte. Mit dem Maximalbetrag von 500€ lässt sich gerademal ein Zinsertrag von 11,25€ nach KEST erzielen. Alles was über 500€ gespart wird, bringt dann nur noch "sensationelle" Zinsen idHv. 0,125%. (Also so viel, wie ich auf meinem Girokonto erhalte ^^)

Mein persönliches Fazit: Der Bank kostet es pro Kind und Jahr rund 10€, mit der aussichtsreichen Option auf einen zukünftigen Girokonto-Kunden im Jugendalter. Also ein genialer Marketing-Gag, der dem Kunden aber kaum Profit bringt.

Gewinn-Messe 2014

Ein kleiner "Besuchsbericht" von der Gewinn-Messe 2014:

Heuer gab es leider ein geringeres Angebot von frei zugänglichen Seminaren, als im Vorjahr. Dennoch war ein für mich ein Highlight dabei, nämlich das Chartanalyse-Seminar von Christian Kämmerer. (http://www.godmode-trader.de/autor/christian-kaemmerer,77215)

Leider dauerte es nur knappe 60 Minuten, aber im Zuge eines Direktanlage-Seminars gibt es einen zweiten Teil. Dieser ist kostenlos unter https://www.direktanlage.at/Content/Services/Akademie/Seminare2.aspx buchbar. Ich werde voraussichtlich in Wien als Teilnehmer dabei sein.

Das Negative an der Seminarplanung der Messe war dann noch, dass am Nachmittag zum selben Zeitpunkt mehrere interessante Seminare zur selben Zeit stattfanden. Ich werde mich diesbezüglich noch mit Feedback an den Gewinn-Verlag wenden. Vielleicht hilft es ja etwas für das nächste Jahr. (Hoffnung stirbt zuletzt...)

 

Einen guten Ausklang stellten die Abendveranstaltungen dar, am Donnerstag gab es eine informative Diskussion zum Thema Immobilienaktien und deren weitere Entwicklung, inklusive einem leckeren Abendbuffet (wenn ich mich recht erinnere von der s-immo gesponsert ;-) ).

Am Freitag gab es dann zwar kein Buffet, aber dafür zuerst etwas zum Lachen mit Dkfm. Joachim Nareike von Schroders, welcher aussichtsreiche Chancen für die Zukunft vorstellte und abschließend einen echt genialen Vortrag von Felix Gottwald. Er brachte den Saal tatsächlich für eine halbe Minute zum Schweigen und motivierte anschließend so ziemlich alle zur Auflockerung zum "Äpfel pflücken". Respekt ;-)

 

Anlagemäßig wurden wie gewohnt ein paar (alte) neue Produkte vorgestellt - im Großen und Ganzen gab es aber keine Weltneuheiten :-)

 

Ich hoffe, dass ich bei einem Gewinnspiel abstauben konnte, und warte dann mal bis zum nächsten Jahr!

Die Geschichte vom Samsung Galaxy S3 mini und dem leeren Akku

Hallo,

der folgende Beitrag handelt von meinem Handy (Samsung Galaxy S3 Mini, GT-8190), welches mich in den letzten Wochen ziemlich geärgert hat.

Es fing damit an, dass der Akkuverbrauch rapide zunahm - etwa 10% pro Stunde (!). Während dieser Zeit war das Handy eigentlich nicht in Verwendung - sondern nur im Standby.

Ich hatte dieses Verhalten schon vor einigen Monaten, damals stellte sich als Übeltäter die Finanzen.net App heraus. Nach der Deinstallation war der Spuk vorbei. Damals verwendete ich das Programm CPU Monitor zur Diagnose.

Diese war recht einfach - Protokollierung starten, Handy in den Standby schalten, 30-60 Sekunden warten, Stoppen und anschauen. Folgendes Bild zeigte sich damals:

 

Nun gut, diesmal sollte es aber anders sein:

 

Kein Anhaltspunkt, die Suche musste diesmal anders ablaufen - ich deinstallierte aus Verzweiflung diverseste Apps - darunter z.B.: Facebook, aber erfolglos.

 

Nach Recherche im Internet fand sich das Programm Wakelock Detector, welches folgendes Bild zeigte:

 

 Fazit -> Ha, Google-Dienste? Na, was haben wir denn da?

 

Nun, der noch verbleibende Übeltäter war/ist diesmal anscheinend ein Google-Dienst - was auch immer hier passiert.

Nach Recherche zum ursprünglichen Problem im Internet ergab sich dann Folgendes:

http://forum.xda-developers.com/galaxy-s3/help/wakelock-count-battery-drain-google-t2882894

https://code.google.com/p/android/issues/detail?id=76951

Für die Lösung dieses (kleineren) WakeLocks sollte man mit gerootetem Gerät das hier machen: http://en.miui.com/thread-51541-1-1.html - da ich keinen Root-Zugriff habe, fällt das wohl für mich flach. Falls jemand eine Idee hat, wie man das Problem an Google melden kann, bitte Kommentar oder Nachricht :-)

 

Dies war aber nur ein Teil der Ursache - anscheinend handelt es sich hier nur um einen API-Aufruf, der zu oft durchgeführt wird.

Der echte Übeltäter war dann Skype, welches anscheinend einfach nur permanent eine Funktion vom Play-Store aufrief. Nach Deinstallation war es dann wieder vorbei.

Einen Screenshot während des Problems kann ich euch leider nicht mehr liefern, da Skype bereits deinstalliert ist - und auch bleibt.

Falls ihr selbst unter einer schlechten Akkulaufzeit leidet - ihr könnt dies relativ rasch mit dem Verlauf des Akkuverbrauches prüfen:

 

Wichtig ist, dass der Balken bei "Aufwachen" keinesfalls durchgehend ist, so wie z.B. bei W-LAN. Das bedeutet nämlich, dass das Handy weiterhin etwas tut, auch wenn das Display aus ist. Man merkt es deshalb, weil das Display nach 30 Minuten Nichtbenutzung leicht warm ist - und nicht kalt, so wie es normalerweise sein sollte.

 

Wer sich über diesen seltsamen Akkuverlauf wundern sollte - nachdem sich anscheinend die easybank-App aufgehängt hat und den Akku komplett leergesaugt hat - habe ich heute meinen Akku getauscht, da ich mir einen neuen bestellt habe - der alte ist, wie sich nachträglich herausstellte, bereits dezent in seiner Höhe "gewachsen". Ich mag keine elektrischen Geräte, welche wachsen. Schon gar nicht, wenn Lithium im Spiel ist ^^

Off-Topic ... wachsende Lithium-Ionen-Akkus: http://www.youtube.com/watch?v=HCGtRgBUHX8

 

Nun ja, für unsere Suchmaschinen: Android, Batterielaufzeit, Aufwachen, Standby, Skype, wake:com.google.android.gms, auth.be.proximity.authorization.userpresence.User PresenceService, WakeLock

 

Windows 8.1 und der verschwundene Mauscursor

In diesem Post möchte ich eine kleine Kuriosität eines Windows 8.1 Laptops mit euch teilen.

Dieser wurde in einer Dockingstation mit 2 Monitoren betrieben und funktionierte bis vor ein paar Tagen problemlos. Doch dann verschwand nach der Anmeldung plötzlich der Mauscursor. Eine erste Recherche im Netz blieb erfolglos, von neu aufsetzen bis zum Update vom Grafiktreiber wurde alles erwähnt. Doch dann fand sich plötzlich ein Post im Microsoft-Forum (Link findet ihr unten):

Die Lösung besteht darin den Registry-Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System zu öffnen und den Wert von EnableCursorSupression von 1 auf 0 zu ändern. Nach einem anschließenden Neustart war wieder alles gelöst.

Falls ihr zur Problemlösung doch mit Mauscursor arbeiten möchtet: Strg+Alt+Entf und anschließendes ESC brachte ihn bis zum nächsten Standby wieder zum Vorschein.

 

Quelle: http://answers.microsoft.com/en-us/windows/forum/windows8_1-tms/cursor-disappeared-with-windows-81-update/88437079-13b1-486d-8805-b0771fecff45

 

Tags zwecks Google: Windows 8, Windows 8.1, Maus verschwunden, Mousecursor verschwunden, Cursor verschwunden, mouse cursor disappeared