ibatis-user-java mailing list archives

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

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.


Mime
View raw message