log4j写入数据库 log4j:ERROR Failed to excute sql 
java.sql.SQLException: ORA-00917: 缺失
具体配置如下:
<appender   name= "access_Log_JDBC"   class= "org.apache.log4j.jdbc.JDBCAppender">
           <param   name= "Driver"   value= "oracle.jdbc.driver.OracleDriver"   />
           <param   name= "URL"   value= "jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:oradb"   />
           <param   name= "user"   value= "XXX"   />
           <param   name= "password"   value= "XXX"   />
           <param   name= "sql"   value= "INSERT   INTO   SSI_USER_LOG(OPERATE_TIME,USER_NAME,OPERATE_OBJECT,OPERATE_INFO)   VALUES   (%d,%X{name},%X{b},'%m')"/>
           <param   name= "BufferSize"   value= "1"   />
     </appender>  
调用方式:
   String   msg  =   "b03";
   String   name  =   "u03";
  String   b  =   "b03 ";  
  MDC.put("user", name);  
  MDC.put( "b", b);     //和配置文件中的%X{b}对应
  System.out.println(MDC.get("user"));
  SSILogger.accesslog_category.info(msg);   //和配置文件中的%m对应  
但是执行后控制台回报 :
     log4j:ERROR Failed to excute sql
java.sql.
SQLException: ORA-00917: 缺失逗号
原因已经知道是 %X{name}和%X{b}的问题,但是就是不知道怎么解决,求高手指点,
能不能告诉下,是否可以吧log4j执行插入的语句完整的打印出来呢,求指点
------解决方案--------------------
'%X{name}','%X{b}'
------解决方案--------------------我记得如果ORACLE语句如果执行出错,会有相应的日志会记录这条语句,去查一下实际执行错误的SQL语句应该可以发现点问题
------解决方案--------------------'%X{name}','%X{b}'
这样你试过?不行?