Any suggestions? Any one?
I still haven't figured this out : /
Is this a known issue in NHv3.2? Is there be a Castle update for
NHv3.2?

I'll appreciate any help,
Thank you.

On Aug 30, 12:57 pm, Sasha <[email protected]> wrote:
> Hello ppl,
>
> Im still a newbie with NH, and I'v started developing a small test
> application with NHv3.1, like a demo for a bigger project. I also
> implemented support to work with stored procedures: sql-insert-update-
> delete and sql-query to read instances from DB.
>
> So, last week I switched to new version NHv3.2, changed configuration
> to use NHibernate DefaultProxyFactoryFactory, and now I have a
> problem. When I call a stored procedure to initialize a collection (to
> read instances from DB) it throws an exception!? I've made a copy of a
> whole solution, two identical codes except for configuration (see
> below). Copy A working perfectly with NHv3.1, and copy B with NHv3.2
> throws exception shown below:
>
> * Exception:
>
> NHibernate.Exceptions.GenericADOException was unhandled
>   Message=could not execute query
> [ { ? = call PRODUCT_FUN() } ]
> [SQL: { ? = call PRODUCT_FUN() }]
>   Source=NHibernate
>   SqlString={ ? = call PRODUCT_FUN() }
>   StackTrace:
>        at NHibernate.Loader.Loader.DoList(ISessionImplementor session,
> QueryParameters queryParameters) in d:\CSharp\NH\NH\nhibernate\src
> \NHibernate\Loader\Loader.cs:line 1599
>        at
> NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor
> session, QueryParameters queryParameters) in d:\CSharp\NH\NH\nhibernate
> \src\NHibernate\Loader\Loader.cs:line 1497
> // ... some more code...
>        at System.Threading.ThreadHelper.ThreadStart()
>
>   InnerException: System.IndexOutOfRangeException
>        Message=Index was outside the bounds of the array.
>        Source=NHibernate
>        StackTrace:
>             at
> NHibernate.Param.PositionalParameterSpecification.SetEffectiveType(QueryPar 
> ameters
> queryParameters) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Param
> \PositionalParameterSpecification.cs:line 73
>             at
> NHibernate.Param.ParametersBackTrackExtensions.ResetEffectiveExpectedType(I 
> Enumerable`1
> parameterSpecs, QueryParameters queryParameters) in d:\CSharp\NH\NH
> \nhibernate\src\NHibernate\Param\ParametersBackTrackExtensions.cs:line
> 48
> // ... some more code...
>             at NHibernate.Loader.Loader.DoList(ISessionImplementor
> session, QueryParameters queryParameters) in d:\CSharp\NH\NH\nhibernate
> \src\NHibernate\Loader\Loader.cs:line 1590
>        InnerException:
>
> * Configuration:
>
>                 public static Configuration buildConfiguration()
>                 {
>                         return new Configuration()
>                                 .SetProperty("connection.provider",
> "NHibernate.Connection.DriverConnectionProvider")
>                                 .SetProperty("dialect", 
> "NHibernate.Dialect.Oracle10gDialect")
>                                 .SetProperty("connection.driver_class",
> "NHibernate.Driver.OracleDataClientDriver")
>                                 .SetProperty("connection.connection_string",
>                                         @"Data Source=
>                                         (DESCRIPTION=
>                                                 (ADDRESS_LIST=
>                                                         (ADDRESS=
>                                                                 
> (PROTOCOL=TCP)(HOST=localhost)(PORT=1521)
>                                                         )
>                                                 )
>                                         );
>                                         User Id=xx;Password=xx;")
>                                 // A copy (NHv3.1):
>                                         
> //.SetProperty("proxyfactory.factory_class",
> "NHibernate.ByteCode.Castle.ProxyFactoryFactory,
> NHibernate.ByteCode.Castle")
>                                 // B copy (NHv3.2):
>                                         
> .SetProperty("proxyfactory.factory_class",
> "NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate")
>                                 .SetProperty("show_sql", "true")
>                                 .SetProperty("query.substitutions", "true 1, 
> false 0, yes 'Y', no
> 'N'");
>                 }
>
>  * Code:
>
>                         using (ISession session = 
> _sessionFactory.OpenSession())
>                         {
>                                 // this part works fine:
>                                 IQuery q1 = session.CreateQuery("from Product 
> p");
>
>                                 IList list1 = q1.List();
>                                 foreach (Product p in list1)
>                                         Console.WriteLine(p.Name);
>
>                                 // but this one doesn't:
>                                 IQuery q2 = 
> session.GetNamedQuery("product_fun_sp");
>
>                                 IList list2 = q2.List(); // here throws an 
> exception!
>
>                                 foreach (Product p in list2)
>                                         Console.WriteLine(p.Name);
>                         }
>
> My guess is that I have a problem in configuration, with proxy
> factory, but cant figure out what??
> Please help, I need to get this working...
>
> ps:
> Person class has and ID property and a few other properties, no
> relations to other classes.
> Insert, update, delete stored procedures work fine.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
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