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.

Kommentar schreiben

Loading