Hi all

Guess I found a bug in NHibernate....but maybe I'm just using it wrong.

I use SQL Server 2008 R2 with NHibernate 3.3.0.GA with a 
UserSuppliedConnectionProvider (property "connection.provider") because I 
want to use the <connectionStrings> section of the normal application 
configuration.

Is it correct, that I can use the UserSuppliedConnectionProvider property 
only with the property "hbm2ddl.keywords" set to "none"?

Will say:
=====
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
   <session-factory>
      <property 
name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
      <property 
name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
      <property 
name="connection.provider">NHibernate.Connection.UserSuppliedConnectionProvider</property>
      <property name="hbm2ddl.keywords">none</property>
       ...
   </session-factory>
</hibernate-configuration>
=====

Using the following values for "hbm2ddl.keywords" results in an exception: 
"keywords", "auto-quote"

The exception says: "The user must provide an ADO.NET connection - 
NHibernate is not creating it."
It occurs when I call BuildSessionFactory() on the NHibernate 
Configuration. The user supplied connection would be passed to the 
OpenSession() method of the ISessionFactory which happens later.
So, it's just not possible to pass in the user supplied connection because 
the factory can never be built. This seems very odd to me and makes no 
sense. So, I guess this is a bug. Right?

StackTrace:
====
   at NHibernate.Connection.UserSuppliedConnectionProvider.GetConnection() 
in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Connection\UserSuppliedConnectionProvider.cs:line
 
46
   at 
NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare() 
in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Tool\hbm2ddl\SuppliedConnectionProviderConnectionHelper.cs:line
 
25
   at 
NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect 
dialect, IConnectionHelper connectionHelper) in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Tool\hbm2ddl\SchemaMetadataUpdater.cs:line
 
43
   at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory 
sessionFactory) in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Tool\hbm2ddl\SchemaMetadataUpdater.cs:line
 
17
   at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping 
mapping, Settings settings, EventListeners listeners) in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Impl\SessionFactoryImpl.cs:line
 
174
   at NHibernate.Cfg.Configuration.BuildSessionFactory() in 
c:\Users\oskar.berggren\Documents\Projects\nhibernate-core-3\src\NHibernate\Cfg\Configuration.cs:line
 
1258
   at ... <myCode> :-)
====

It would be great if I could also use the nice looking "hbm2ddl.keywords" 
feature.

For the feature see also:
http://nhforge.org/blogs/nhibernate/archive/2009/06/24/auto-quote-table-column-names.aspx

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/nhusers/-/jC6IIXj7c7EJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to