You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by KERNEUZET FREDERIC <Fr...@pr-gicm.com> on 2005/03/02 12:57:06 UTC

RE : Problem with setDistinct()

Primary keys of concerned tables are not text, ntext or image as the Exception message says...

It's just INTEGERS !

I've avoided the problem with a really bad solution in order to give me more time to find a good one : deleting doubled item in my result list ...


Frederic.


-----Message d'origine-----
De : Thomas Fischer [mailto:fischer@seitenbau.net] 
Envoyé : mercredi 2 mars 2005 11:50
À : Apache Torque Users List
Objet : RE: Problem with setDistinct()





Hi,

its just as it says: some datasets do not support DISTINCT with some
datatypes. No problem of Torque, but of the database.
I got no clean solution, only if your content is short enough then you can
use VARCHAR instead of whatever datatype you use and it should work then.

  Thomas

"KERNEUZET FREDERIC" <Fr...@pr-gicm.com> schrieb am 01.03.2005
14:17:48:

> Hi everyone,
>
> I've got a problem with something quite "easy", and besides, already
> used in another place in my application ...
>
> The source code is :
> ====================
> ArrayList listRole = new ArrayList();
> listRole.add("Correspondant");
>
> criteria.addJoin( SalariePeer.USER_ID, TurbineUserGroupRolePeer.USER_ID
);
> criteria.addJoin(TurbineRolePeer.ROLE_ID, TurbineUserGroupRolePeer.
> ROLE_ID);
> criteria.addNotIn(TurbineRolePeer.ROLE_NAME,listRole);
>
> criteria.setDistinct();
>
> List lstSalarie = SalariePeer.doSelect(criteria);
> ====================
>
> It gives me an sql request without any column selected :
> SELECT DISTINCT  FROM TURBINE_ROLE, SALARIE, TURBINE_USER_GROUP_ROLE
> WHERE TURBINE_ROLE.ROLE_NAME NOT IN ('Correspondant') AND SALARIE.
> USER_ID=TURBINE_USER_GROUP_ROLE.USER_ID AND TURBINE_ROLE.
> ROLE_ID=TURBINE_USER_GROUP_ROLE.ROLE_ID
>
> And an java.sql.Exception in thrown :
> java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]
> [SQLServer]Data type like text, ntext or image cannot be selected
asDISTINCT.
>
> (error message translated from french)
>
> As someone got an idea ?
>
>
> Thanks !
> ==================================
> Frédéric Kerneuzet
> ==================================
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


RE : Problem with setDistinct()

Posted by Thomas Fischer <fi...@seitenbau.net>.



Hi Frederic,

It is not the primary keys of the table, it is all columns of the table
that are compared by a DISTINCT. So if any column is a text, ntext or
image, you have a problem.

Just to make sure it is not a JDBC problem: did you try to execute the SQL
statement in a console ? If yes, did it give the same message ?

To find the reason why no column names appear (which could be the reason
for the problem if the Salarie table does not contain text, ntext or
image), which Torque version are you using ? You could also try to add
select fields "by hand" and see what happens.

          Thomas


"KERNEUZET FREDERIC" <Fr...@pr-gicm.com> schrieb am 02.03.2005
12:57:06:

> Primary keys of concerned tables are not text, ntext or image as the
> Exception message says...
>
> It's just INTEGERS !
>
> I've avoided the problem with a really bad solution in order to give
> me more time to find a good one : deleting doubled item in my result list
...
>
>
> Frederic.
>
>
> -----Message d'origine-----
> De : Thomas Fischer [mailto:fischer@seitenbau.net]
> Envoyé : mercredi 2 mars 2005 11:50
> À : Apache Torque Users List
> Objet : RE: Problem with setDistinct()
>
>
>
>
>
> Hi,
>
> its just as it says: some datasets do not support DISTINCT with some
> datatypes. No problem of Torque, but of the database.
> I got no clean solution, only if your content is short enough then you
can
> use VARCHAR instead of whatever datatype you use and it should work then.
>
>   Thomas
>
> "KERNEUZET FREDERIC" <Fr...@pr-gicm.com> schrieb am
01.03.2005
> 14:17:48:
>
> > Hi everyone,
> >
> > I've got a problem with something quite "easy", and besides, already
> > used in another place in my application ...
> >
> > The source code is :
> > ====================
> > ArrayList listRole = new ArrayList();
> > listRole.add("Correspondant");
> >
> > criteria.addJoin( SalariePeer.USER_ID, TurbineUserGroupRolePeer.USER_ID
> );
> > criteria.addJoin(TurbineRolePeer.ROLE_ID, TurbineUserGroupRolePeer.
> > ROLE_ID);
> > criteria.addNotIn(TurbineRolePeer.ROLE_NAME,listRole);
> >
> > criteria.setDistinct();
> >
> > List lstSalarie = SalariePeer.doSelect(criteria);
> > ====================
> >
> > It gives me an sql request without any column selected :
> > SELECT DISTINCT  FROM TURBINE_ROLE, SALARIE, TURBINE_USER_GROUP_ROLE
> > WHERE TURBINE_ROLE.ROLE_NAME NOT IN ('Correspondant') AND SALARIE.
> > USER_ID=TURBINE_USER_GROUP_ROLE.USER_ID AND TURBINE_ROLE.
> > ROLE_ID=TURBINE_USER_GROUP_ROLE.ROLE_ID
> >
> > And an java.sql.Exception in thrown :
> > java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]
> > [SQLServer]Data type like text, ntext or image cannot be selected
> asDISTINCT.
> >
> > (error message translated from french)
> >
> > As someone got an idea ?
> >
> >
> > Thanks !
> > ==================================
> > Frédéric Kerneuzet
> > ==================================
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org