David,

I would recommend looking at the s#arp project as they've pretty much
done all of this kind of stuff for you and you can add on to it within
your own project.

Anyways, here is how you would typically return all results from a
table without a "WHERE clause"

ICriteria criteria = Session.CreateCritera(DocType);
return criteria.List<DocType>();

Or all results with a limit (100 records):

ICriteria criteria =
Session.CreateCritera(DocType).SetMaxResults(100);
return criteria.List<DocType>();

Matt

On Sep 6, 1:34 pm, DBLWizard <[email protected]> wrote:
> Matt,
>
> Hey, I appreciate your response but still need a little help.  Being
> new to NHibernate I'm still not sure how all this works.
>
> I had only implemented the GetByID in my domain .. what session call
> in NHibernate will return all of the objects for a given object?  Get
> and Load seem to do the same thing and they all take an "objectID" as
> a parameter.  I don't see another call that returns any kind of
> collection.  What am I missing?
>
> Thanks
>
> dbl
>
> On Sep 6, 12:07 pm, MattO <[email protected]> wrote:
>
>
>
> > David,
>
> > Things actually look OK.  Nothing too different from what I am doing
> > with DB2 on the AS400.  I guess I only have a few suggestions at this
> > point:
>
> > 1.  Remove all columns except for maybe two columns and try again.
> > 2.  Try to "GetAll" or whatever it is called in your domain layer that
> > retrieves all objects from the database without a parameter and see if
> > that works, as the error seems to indicate you are missing a parameter
> > (in your example the "ArbAssocRuling" parameter.
>
> > Additionally,zOSDB2 may require the fully qualified table name.  In
> > my system, if I don't specify "ARRTFLIB.CONSULTS", which is the
> > libraryname.tablename format I get a "could not load an entity error",
> > but the inner exception is not the same.
>
> > Here is the example:
>
> >   <class name="AS400_CONSULTS" table="ARRTFLIB.CONSULTS"
> >          optimistic-lock="all" dynamic-update="true" lazy="true">
> >     <id name="Id" column="COID#" >
> >       <generator class="assigned" />
> >     </id>
>
> > Lastly atleast in the case of AS400, it requires special nHibernate
> > settings as follows:
>
> >       <property
> > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > property>
> >       <property name="dialect">NHibernate.Dialect.DB2400Dialect</
> > property>
> >       <property
> > name="connection.driver_class">NHibernate.Driver.DB2400Driver</
> > property>
>
> > I didn't however find a specialized version forzOS, so I'm going to
> > assume the standard DB2 settings you have already specified are
> > correct.
>
> > Sorry I couldn't be of more help!
>
> > On Sep 2, 8:28 am, DBLWizard <[email protected]> wrote:
>
> > > Matt,
>
> > > Here is all the information minus the using statements in the source
> > > code.
>
> > > Thanks
>
> > > David
>
> > > Exception:
> > > {"could not load an entity: [ADRPData.Domain.DocType#ArbAssocRuling]
> > > [SQL: SELECT doctype0_.SDOCTYPEID as SDOCTYPEID1_0_,
> > > doctype0_.SDOCTYPECODE as SDOCTYPE2_1_0_, doctype0_.sSettings as
> > > sSettings1_0_, doctype0_.sTemplate as sTemplate1_0_,
> > > doctype0_.sArchiveOnly as sArchive5_1_0_, doctype0_.sDocTypeDescriptio
> > > as sDocType6_1_0_, doctype0_.sPrinterName as sPrinter7_1_0_,
> > > doctype0_.sViewableInMCare as sViewabl8_1_0_,
> > > doctype0_.sMCareDescription as sMCareDe9_1_0_, doctype0_.sDocGroup as
> > > sDocGroup1_0_ FROM DocType doctype0_ WHERE doctype0_.SDOCTYPEID=?]"}
>
> > > Inner Exception:
> > > {"Invalid index 0 for this DB2ParameterCollection with Count=0."}
>
> > > DocType.hbm.xml:
> > > <?xml version="1.0" encoding="utf-8" ?>
> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> > >                    assembly="ADRPData"
> > >                    namespace="ADRPData.Domain">
> > >   <class name="DocType">
> > >     <id name="sDocTypeID" column="SDOCTYPEID" type="String">
> > >       <generator class="assigned" />
> > >     </id>
> > >     <property name="sDocTypeCode" column="SDOCTYPECODE" />
> > >     <property name="sSettings" />
> > >     <property name="sTemplate" />
> > >     <property name="sArchiveOnly" />
> > >     <property name="sDocTypeDescriptio" />
> > >     <property name="sPrinterName" />
> > >     <property name="sViewableInMCare" />
> > >     <property name="sMCareDescription" />
> > >     <property name="sDocGroup" />
> > >   </class>
> > > </hibernate-mapping>
>
> > > DocType.cs:
>
> > > namespace ADRPData.Domain
> > > {
> > >     public class DocType
> > >     {
> > >         public virtual string sDocTypeID { get; set; }
> > >         public virtual string sDocTypeCode { get; set; }
> > >         public virtual string sSettings { get; set; }
> > >         public virtual string sTemplate { get; set; }
> > >         public virtual string sArchiveOnly { get; set; }
> > >         public virtual string sDocTypeDescriptio { get; set; }
> > >         public virtual string sPrinterName { get; set; }
> > >         public virtual string sViewableInMCare { get; set; }
> > >         public virtual string sMCareDescription { get; set; }
> > >         public virtual string sDocGroup { get; set; }
> > >     }
>
> > > }
>
> > > Program.cs - ConsoleApplication:
>
> > > namespace ADRPConsole
> > > {
> > >     class Program
> > >     {
> > >         private static ISessionFactory _sessionFactory;
> > >         private static Configuration _configuration;
>
> > >         static void Main(string[] args)
> > >         {
> > >             _configuration = new Configuration();
> > >             _configuration.Configure();
> > >             _configuration.AddAssembly(typeof(DocType).Assembly);
> > >             _sessionFactory = _configuration.BuildSessionFactory();
>
> > >             IDocTypeRepository repository = new DocTypeRepository();
> > >             var fromDb = repository.GetById("ArbAssocRuling");
>
> > >             Console.WriteLine("DocTypeCode:" + fromDb.sDocTypeCode);
> > >         }
> > >     }
>
> > > }
>
> > > On Sep 1, 5:48 am, MattO <[email protected]> wrote:
>
> > > > Dbl,
>
> > > > Welcome to the minority of users who are still using DB2!
>
> > > > The first XML example is pretty much what I use for DB2 on IBM i
> > > > (AS400).
>
> > > > I don't think your error however is due to improper XML
> > > > configuration.  I think it is something else.  I think we need more
> > > > code to figure it out.  Can you post your code for the DocType class,
> > > > the code that is trying to load the domain, and the exception (and
> > > > inner exception detail) from the query you are trying to perform?
>
> > > > Matt
>
> > > > On Aug 31, 1:17 pm, DBLWizard <[email protected]> wrote:
>
> > > > > Howdy,
>
> > > > > I am trying to get DB2zOS9 to work with NHibernate but I can not
> > > > > find clear documenation on how to setup the app.config and the
> > > > > hibernate.cfg.xml file.  I'm getting an error when its trying to build
> > > > > the SQL statements a substituting parameters.  So I want to make sure
> > > > > I've got my config file setup.  I have tried both of these to
> > > > > configurations and both get the same error.
>
> > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
> > > > >   <session-factory name="Test">
> > > > >     <property
> > > > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > > > > property>
> > > > >     <property name="dialect">NHibernate.Dialect.DB2Dialect</property>
> > > > >     <property
> > > > > name="connection.driver_class">NHibernate.Driver.DB2Driver</property>
> > > > >     <property
> > > > > name="connection.connection_string">Database=dbalias;Uid=myUid;Pwd=myPass</
> > > > > property>
> > > > >     <property name="show_sql">true</property>
> > > > >   </session-factory>
> > > > > </hibernate-configuration>
>
> > > > > This is an ODBC example I found:
>
> > > > > <?xml version="1.0" encoding="utf-8" ?>
> > > > > <hibernate-configuration xmlns="urn:nhibernate-configuration-2.0" >
> > > > >     <session-factory name="session">
> > > > >         <property
> > > > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
> > > > > property>
> > > > >         <property
> > > > > name="connection.driver_class">NHibernate.Driver.OdbcDriver</property>
> > > > >         <property name="connection.connection_string">driver={IBM DB2
> > > > > ODBC
> > > > > DRIVER};Database=db;hostname=host;port=port;protocol=TCPIP;uid=uid;
> > > > > pwd=pwd</property>
> > > > >         <property name="show_sql">true</property>
> > > > >         <property name="dialect">NHibernate.Dialect.DB2Dialect</
> > > > > property>
> > > > >     </session-factory>
> > > > > </hibernate-configuration>
>
> > > > > As I said I've tried both of these and get the same error and it
> > > > > revolves around the false return of the UseNamedPrefixInSql function.
> > > > > The Error I'm getting is:
>
> > > > > could not load an entity: [ADRPData.Domain.DocType#ArbAssocRuling]
> > > > > [SQL: SELECT doctype0_.SDOCTYPEID as SDOCTYPEID1_0_,doctype0_.
> > > > > SDOCTYPECODE as SDOCTYPE2_1_0_ FROM DocType doctype0_ WHERE
> > > > > doctype0_.SDOCTYPEID=?]
>
> > > > > Can anybody point me to a good resource for using NHibernate with DB2
> > > > >zOSor how this config file should be set to make things work
> > > > > correctly.
>
> > > > > Thanks
>
> > > > > dbl

-- 
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