DB2 NHibernate - HibernateException

Ich beschäftige mich seit geraumer Zeit mit DB2 und NHibernate und habe nun mal wieder eine dumme überflüssige Exception bekommen, nämlich die folgende:

NHibernate.HibernateException ist aufgetreten.
  Message="ERROR [42727] [IBM][DB2/NT] SQL0286N  Es konnte kein Standardtabellenbereich mit einer Seitengröße von mindestens \"8192\" gefunden werden, für den die Berechtigungs-ID \"DBUSER\" eine Nutzungsberechtigung hat.  SQLSTATE=42727\r\n"
  Source="NHibernate"
  StackTrace:
       bei NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 scriptAction, Boolean export, Boolean justDrop)
       bei NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Boolean script, Boolean export, Boolean justDrop)
       bei NHibernate.Tool.hbm2ddl.SchemaExport.Create(Boolean script, Boolean export)
       bei CreateDatabase.NHibernateDBHelper.BuildSchema(Configuration config) in D:\CreateDatabase\NHibernateDBHelper.cs:Zeile 56.
  InnerException: IBM.Data.DB2.DB2Exception
       Message="ERROR [42727] [IBM][DB2/NT] SQL0286N  Es konnte kein Standardtabellenbereich mit einer Seitengröße von mindestens \"8192\" gefunden werden, für den die Berechtigungs-ID \"MWAREDBUSER\" eine Nutzungsberechtigung hat.  SQLSTATE=42727\r\n"
       Source="IBM.Data.DB2"
       ErrorCode=-2147467259
       StackTrace:
            bei IBM.Data.DB2.DB2Connection.HandleError(IntPtr hHandle, SQL_HANDLE hType, RETCODE retcode)
            bei IBM.Data.DB2.DB2Command.g()
            bei IBM.Data.DB2.DB2Command.ExecuteNonQuery()
            bei NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 scriptAction, Boolean export, Boolean throwOnError, TextWriter exportOutput, IDbCommand statement, String sql)
            bei NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 scriptAction, Boolean export, Boolean justDrop, IDbConnection connection, TextWriter exportOutput)
            bei NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 scriptAction, Boolean export, Boolean justDrop)
       InnerException:

So, nach stundenlangem herumärgern ist es nun nämlich so, wenn man bei dieser komische DB2-Steuerzentrale eine neue Datenbank anlegt, dann kann man dort eine "Standardgröße für Pufferpol und Tabellenbereichsseite" angeben. Der Defaultwert liegt bei 4 KB. Tja, nun bin ich bei meiner User-Tabelle, die aus 37 Spalten besteht, schon da an die Grenze gestoßen, und die einzige Möglichkeit, die ich gesehen habe, war die Datenbank neu zu erstellen, mit einem größeren "Tabellenbereichsseite"... Solltet ihr auch mit DB2 arbeiten, freiwillig oder unfreiwillig, dann nehmt da von Anfang an lieber einen größeren Bereich beim erstellen, sonst könnt ihr mit NHibernate vllt. irgendwann einfach kein Schema mehr erstellen... (Mit DB2 gibts einen riesigen Haufen Probleme, den man mit MS SQL nicht hätte...)

Sollte jemand einen besseren Weg kennen, die Tabellengröße da einzustellen, dann kann er mir gerne Schreiben (Kommentare funzen leider noch nicht, aber ich arbeite dran)...

Published 28 September 2009 10:59 von Dosihris

Kommentare

Keine Kommentare

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend) 
Nico Franze Herzlich Willkommen auf meinem Blog. Ich bin Nico, freier Softwareentwickler sowie Autor für Fachzeitschriften. Hab mit .NET Version 1.0 begonnen (damals noch VB.Net) und bin dann schlussendlich bei C# gelandet. Mehr Infos gibts unter www.nfranze.de


Suche

Los

Translator Widget

Dieser Blog

Syndikation


Locations of visitors to this page