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, zOS DB2 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 for zOS, 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.
