1) Fix typo whereby the SybaseSQLAnywhere10Dialect maps a binary type to "LONG VARBINARY" which is an SQL type that doesn't exist - it should read "LONG BINARY".
2) The Dialect/Schema/SybaseAnywhereMetaData.cs file should be replaced with the attached SybaseSQLAnywhere11MetaData file, which properly supports the GetReservedWords() call.
For SQL Anywhere 12.0.1 support, there are two changes that need to be made:
1) Review and commit SybaseSQLAnywhere12Dialect.cs (see attached).
2) This new dialect references a modified driver file, called SybaseSQLAnywhere12Driver.cs (attached). The issue is that, in SQL Anywhere 12, the .NET provider is available in two flavours, one with support for V4.0 and the other with support for V3.5 of the .NET framework. Hence the DLL names have changed - and it seems that this requires a new driver (I didn't see a way to override the behaviour of the existing SybaseSQLAnywhereDriver.cs). It seems odd that the name of the DLL appears in the string literal of an NHibernate class constructor - is there no configuration setting in NHibernate for this?