昨日调试Tivoli Directory Integrator软件的脚本.从webservice里面读取数据写入到数据库里报错.
提示数据库字段长度不够,插入的数据长度超出允许值.
通过打印语句查看task.logmsg("@@@@@@@@@@@"+tmp+"#################");
发现打印出来的值是@@@@@@@@@@@00000000000000000000000000000000null#################.
36位?果然超过数据库限制的32位.最后那段null是怎么回事,看来问题出在null的处理上.
看来是自己写的jar出问题了.分析代码:
package timegeter;
public class Paddingzero {
public String Paddingzero(String is) {
StringBuffer sb = new StringBuffer();
String s = is;
int idlength = 0;
if (s == null) {
idlength = 0;
} else
idlength = s.length();
if (idlength < 32) {
for (int i = 0; i < 32 - idlength; i++) {
sb.append(0);
}
sb.append(s); //看来问题出在这里了
//if (s != null) {
//sb.append(s);
//}
System.out.print(sb);
return sb.toString();
} else if (idlength > 32) {
sb.append(s);
for (int i = 0; i < idlength - 32; i++) {
sb.deleteCharAt(0);
}
System.out.print(sb.toString());
return sb.toString();
} else
System.out.print(is);
return is;
}
public static void main(String args[]) {
Paddingzero pz = new Paddingzero();
pz.Paddingzero("null");
}
}