在Oracle Jserv中开发servlet以及shell脚本的一些实践经验点滴

来源:未知 责任编辑:智问网络 发表时间:2013-11-10 20:25 点击:

 

简述

前两天给项目上开发一个基于servlet的文件上传的的页面,前台用Oracle Jserv在Apache服务器中处理servlet页面,上传文件功能基于oreilly的java开源组件中的MultipartRequest来实现。后台是用shell+sqlloader进行csv对上传的文件导入到临时表中,在调用并发请求处理临时表数据到Oracle的正式表中。其中遇到一些问题,现已解决并分享出来。

 

1. 如何使servlet输出内容中正确显示中文?

  结合new String()和getBytes来将字符串转换为指定的字符集形式,示例代码:

String str = "中文";

str = new String(str.getBytes('iso-8859-1'), 'gbk');

 

2. 如何向导入数据在插表之前加入一个组或批标识?

  1)在shell中利用sqlplus取出一个作为组标识的序列:

SQLRET=`sqlplus -s ${USER_PASSWORD} << SQLEND

          SET HEADING OFF

              SELECT TABLE_S.NEXTVAL

          FROM   DUAL;

          EXIT

              SQLEND | awk '{print $0}'`

BATCH_ID=`echo ${SQLRET}`

  2)编辑上传的csv文件,为文件中的每一行的开始出插入该批标识:

cat $csv_file | while read work

do

    echo $BATCH_ID,$work >> $TMP_FILE

done

 

3. 如何判断上传文件是文本文件还是二进制文件?

  利用file命令,如果是文本文件,那么file命令的输出中将包含"text"字样,据此我们编写如下shell脚本:

if file $your_file | grep text > /dev/null; then

    echo "This is a text file."

else

    echo "This is not a text file."

fi

Enjoy!

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1