That will not change the behavior while querying I guess, so instead
of int and datetime comparisons it will do string comparisons. Right?

On 26 aug, 23:20, John Davidson <[email protected]> wrote:
> Youcouldleave thefieldas a string, but you must provideyour own
> implementationof GetHashCode and Equals.
>
> John Davidson
>
> On Thu, Aug 26, 2010 at 4:54 PM, Koen Verheyen <[email protected]>wrote:
>
>
>
>
>
>
>
> > That was in the description. The column is varchar(254) but contains
> > numeric data so I map it to int, which is no problem for SQL Server + ODBC
> > but appears to be a problem for Lotus Notes + ODBC. Also no problem when I
> > just load the data to the int property. The problem only appears when I try
> > to compare...
>
> > On Thu, Aug 26, 2010 at 10:47 PM, John Davidson <[email protected]>wrote:
>
> >> It is telling you that FirstName contains string data rather than an
> >> Int32.
>
> >> John Davidson
>
> >> On Thu, Aug 26, 2010 at 4:40 PM, Koen Verheyen 
> >> <[email protected]>wrote:
>
> >>> I was wrong in my initial post. The property name is "StoreNumber"
> >>> which is mapped as Id. The column name is Firstname (don't ask,
> >>> legacy...).
>
> >>> Hope that takes the ambiguity away...
>
> >>> tnx
>
> >>> On Aug 26, 10:36 pm, MattO <[email protected]> wrote:
> >>> > Can you provide details on the StoreId column?  The error indicates it
> >>> > someone exists in your code or hbm files, but it is not shown in any
> >>> > of the classes or hbm files you've added to this post.
>
> >>> > On Aug 26, 3:33 pm, Koen Verheyen <[email protected]> wrote:
>
> >>> > > Hi,
>
> >>> > > The scenario is a batch job that imports data from lotus notes (the
> >>> > > master data store) and updates a sql table. I know NHibernate is not
> >>> > > ideal for batch processing, but it is not a large batch anyway and I
> >>> > > don't like setting up an alternative data layer just for this. Btw,
> >>> > > most of the time nothing is updated which means in NHibernate terms
> >>> > > that no updates are sent to the destination database.
>
> >>> > > The property is actually named StoreNumber instead of StoreId as you
> >>> > > can see (and yes it is mapped to a column "FirstName", bloody legacy
> >>> > > (<= that explains the why-lotus-notes)). It is not even an id in
> >>> lotus
> >>> > > notes, but it is unique so we can use it as id. I have the same
> >>> > > problem comparing the dates obviouly. Stores is not a table but a
> >>> view
> >>> > > but I guess that would be transparent.
>
> >>> > > Here's the mapping file:
> >>> > > <?xml version="1.0" encoding="utf-8" ?>
> >>> > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
> >>> > > namespace="abcd.Entities.StoresImport" assembly="abcd">
> >>> > >      <class name="StoreImport" table="Stores">
> >>> > >          <id name="StoreNumber" column="FirstName" type="int">
> >>> > >             <generator class="assigned" />
> >>> > >         </id>
> >>> > >          <property name="WarehouseShortName" column="DC"
> >>> type="string"
> >>> > > not-null="true" />
> >>> > >          <property name="Name" column="LastName" type="string"
> >>> > > length="254" not-null="true" />
> >>> > >          <property name="OpenDate" type="datetime" />
> >>> > >          <property name="CloseDate" type="datetime" />
> >>> > >          <property name="IPAddress" column="PCIP" type="string"
> >>> > > length="254"/>
> >>> > >      </class>
> >>> > > </hibernate-mapping>
> >>> > > This is the entity class:
> >>> > > using System;
> >>> > > namespace abcd.Entities.StoresImport
> >>> > > {
> >>> > >     public class StoreImport
> >>> > >     {
> >>> > >         public virtual string WarehouseShortName { get; set; }
> >>> > >         public virtual int StoreNumber { get; set; }
> >>> > >         public virtual string Name { get; set; }
> >>> > >         public virtual DateTime? OpenDate { get; set; }
> >>> > >         public virtual DateTime? CloseDate { get; set; }
> >>> > >         public virtual string IPAddress { get; set; }
> >>> > >     }}
>
> >>> > > Br's
> >>> > > Koen
>
> >>> > > On Aug 26, 8:59 pm, MattO <[email protected]> wrote:
>
> >>> > > > When you changed some of the values from int to string did you
> >>> > > > accidently change StoreId to string as well?
>
> >>> > > > Can you attach your HBM xml file or fluent code?
>
> >>> > > > Can you attach your entity that has all the virtual fields
> >>> assigned?
>
> >>> > > > Also, why are you trying to connect to lotus notes in the first
> >>> place
> >>> > > > (didn't think people still used that, joking :-) )?  Is this a
> >>> > > > continuous data pull your doing, describe your scenario as this
> >>> seems
> >>> > > > like one of those cases where it might be better to not use
> >>> nHibernate
> >>> > > > and do some other type of integration such as SSIS (sql server
> >>> > > > integration services).
>
> >>> > > > On Aug 26, 10:38 am, Koen Verheyen <[email protected]>
> >>> wrote:
>
> >>> > > > > I have to import data from a Lotus Notes database via ODBC. The
> >>> source
> >>> > > > > data are all varchar fields while some columns actually contain
> >>> dates
> >>> > > > > and numbers. I mapped those colums with NHibernate to the
> >>> appropriate
> >>> > > > > types which works for loading but not for comparing (using
> >>> criteria,
> >>> > > > > e.g. Restrictions.Eq("StoreId", 123)).
>
> >>> > > > > Whenever I execute that I get the OdbcException: [Lotus][ODBC
> >>> Lotus
> >>> > > > > Notes]Incompatible data types in comparison
>
> >>> > > > > If I use a string value in the comparison I get an NHibernate
> >>> > > > > QueryException: StoreId expected type System.Int32, actual type
> >>> > > > > System.String
>
> >>> > > > > I have tried the same scenario with a SQL Server 2005 database
> >>> with
> >>> > > > > varchar columns through an ODBC connection and the comparison
> >>> actually
> >>> > > > > works there.
>
> >>> > > > > NHibernate appears to send the value through an OdbcParameter
> >>> because
> >>> > > > > there's a question mark in the generated SQL query. I use the
> >>> > > > > GenericDialect and NotesSQL ODBC driver version 3.02.
>
> >>> > > > > Who can help please?
> >>> > > > > Thanks- Hide quoted text -
>
> >>> > > - Show quoted text -
>
> >>> --
> >>> You received this message because you are subscribed to the Google Groups
> >>> "nhusers" group.>>> To post to this group, send email 
> >>> [email protected].
> >>> To unsubscribe from this group, send email 
> >>> to>>>[email protected]<nhusers%[email protected]>
> >>> .
> >>> For more options, visit this group at
> >>>http://groups.google.com/group/nhusers?hl=en.
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "nhusers" group.>> To post to this group, send email 
> >> [email protected].
> >> To unsubscribe from this group, send email 
> >> to>>[email protected]<nhusers%[email protected]>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/nhusers?hl=en.
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.> To post to this group, send email 
> > [email protected].
> > To unsubscribe from this group, send email 
> > to>[email protected]<nhusers%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/nhusers?hl=en.

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