Hi,
If i set current thread locale to English SchemaUpdate runs correctly
but Turkish locale throws error.
CultureInfo cultureTurkey = new CultureInfo("tr-TR",
false); //0x041F
CultureInfo cultureEnglish = new CultureInfo("en-US",
false); //0x0409F
Thread.CurrentThread.CurrentCulture= cultureEnglish;
SchemaUpdate se = new SchemaUpdate(nhConfig);
se.Execute(true, true);
Thread.CurrentThread.CurrentCulture = cultureTurkey;
Turkish locale throws like this
System.ArgumentException: 'CHARACTER_MAXIMUM_LENGTH' sütunu, tablosuna
ait değil. (means 'column CHARACTER_MAXIMUM_LENGTH doesn't belong
table')
konum: System.Data.DataRow.GetDataColumn(String columnName)
konum: System.Data.DataRow.get_Item(String columnName)
konum: NHibernate.Tool.hbm2ddl.ColumnMetadata..ctor(DataRow rs)
konum: NHibernate.Tool.hbm2ddl.TableMetadata.AddColumn(DataRow rs)
konum:
NHibernate.Tool.hbm2ddl.TableMetadata.InitColumns(ISchemaReader meta)
konum: NHibernate.Tool.hbm2ddl.TableMetadata..ctor(DataRow rs,
ISchemaReader meta, Boolean extras)
konum:
NHibernate.Tool.hbm2ddl.DatabaseMetadata.GetTableMetadata(String name,
String schema)
konum:
NHibernate.Cfg.Configuration.GenerateSchemaUpdateScript(Dialect
dialect, DatabaseMetadata databaseMetadata)
konum: NHibernate.Tool.hbm2ddl.SchemaUpdate.Execute(Boolean script,
Boolean doUpdate)
But error description doesn't contain tableName;
in Turkish lowercase ( i ) uppercase( İ ) "dotted I"
lowercase ( ı ) uppercase ( I )
Tuna <tehlike> Toksöz can understand this error better :).
Thanks.
Ayende Rahien yazmış:
It get the locale from the current thread,
so just set
this up that way
On Mon, Nov 3, 2008 at 4:04 PM, Mustafa
Kemal Ugurlu
<[EMAIL PROTECTED]>
wrote:
Hi,
I use SchemaUpdate.execute(true,true) method in my project.
This procedure throw Exception in turkish locale(i think classic
turkish upper/lower case conversion problem).
But English locale runs corretly.
How to run SchemaUpdate with locale?
I use postgresql 8.3 databases with Npgsql 2.0 RTM.
Thanks.