ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "m.montano" <koalin...@gmail.com>
Subject Re: MS Sql Server 2000 and access to a CHAR column
Date Thu, 21 May 2009 14:14:17 GMT

Do you mean in class AnnuncioFileMD? I can't change database structure..
is the cast automatic? because if I set private String stannuncio I get a
data truncation exception.. 


Larry Meadors wrote:
> 
> Why not just use a String?
> 
> Larry
> 
> 
> On Thu, May 21, 2009 at 8:00 AM, m.montano <koalina82@gmail.com> wrote:
>>
>> Hi all,
>> I'm developing a j2ee web application using ibatis to interact with a ms
>> sql
>> server 2000.
>> I've to perform this operation:
>>  <insert id="insertAnnuncioFileMD"
>> parameterClass="tsf.sara.sqlmap.AnnuncioFileMD">
>>                   begin transaction
>>        declare @id_audio varchar(20)
>>
>>        set @id_audio = cast(IDENT_CURRENT('filemd') +
>> ident_incr('filemd')
>> as varchar)
>>        INSERT INTO filemd(fname, fsize, furl, fcdate, station_id, status,
>> diagMask, md5sig, msgId, idaudio)
>>             SELECT #fname#, #fsize#, #furl#, #fcdate#, id,#status#,
>> #diagMask#, #md5sig#, #msgId#, #idaudio#
>>             FROM station WHERE name = #stationName#
>>
>>        INSERT INTO annunci(idannuncio, codloc, dataorainizioann,
>>             dataorafineann, dataorainiziorec, idaudio, msgannuncio,
>> codmas,
>> stannuncio, lingua)
>>             VALUES (#idannuncio#, #codloc#, #dataorainizioann#,
>>             #dataorafineann#, #dataorainiziorec#, @id_audio,
>>             #msgannuncio#, #codmas#, #stannuncio#, #lingua#)
>>
>>        commit transaction
>>    GO
>>    </insert>
>> where  stannuncio is a char type (CHAR for db and char for java)
>>
>> I've tried to configure a handler in this way:
>>
>> public class CharTypeHandlerCallback implements TypeHandlerCallback {
>>
>> public Object getResult(ResultGetter getter) throws SQLException {
>> System.out.println("Inside getResult");
>> if(getter.wasNull())
>> return null;
>>
>> return getter.getString();
>> }
>>
>> public void setParameter(ParameterSetter setter, Object parameter) throws
>> SQLException {
>> System.out.println("Inside setParameter");
>> if (parameter == null) {
>>            setter.setNull(Types.CHAR);
>>        } else {
>>         setter.setString((String)parameter.toString());
>>        }
>> }
>>
>> public Object valueOf(String s) {
>> System.out.println("Inside valueOf");
>> return s;
>> }
>>
>> }
>>
>> and added it in  SqlMApCOnfig as
>> <typeHandler javaType="java.lang.String" jdbcType="CHAR"
>> callback="tsf.sara.sqlmap.CharTypeHandlerCallback"/>
>>
>> When I call the insert sqlMap.insert("insertAnnuncioFileMD",
>> annuncioFileMD)
>> I get
>> --- The error occurred in SARA-SqlMap.xml.
>> --- The error occurred while applying a parameter map.
>> --- Check the insertAnnuncioFileMD-InlineParameterMap.
>> --- Check the parameter mapping for the 'stannuncio' property.
>> --- Cause: java.lang.NullPointerException
>>
>> stannuncio is set to a 'A'.
>> I don't see where I'm wrong, have you any suggestion?
>> Thanx,
>> Michela
>> --
>> View this message in context:
>> http://www.nabble.com/MS-Sql-Server-2000-and-access-to-a-CHAR-column-tp23653653p23653653.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/MS-Sql-Server-2000-and-access-to-a-CHAR-column-tp23653653p23653885.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message