- 浏览: 73835 次
- 性别:
- 来自: 火星
最新评论
-
q472358790:
你好,我在ubuntu12.04上安装oracle11g也遇到 ...
在ubuntu 11 32bit环境下安装oracle 11g -
jak47:
kinjo 写道想问下 Wiki Extensions Plu ...
常用redmine插件推荐 -
kinjo:
想问下 Wiki Extensions Plugin这个东西怎 ...
常用redmine插件推荐 -
ixu:
看起来不错,有空试试,可惜没截图啊
常用redmine插件推荐 -
sinopf:
不错,挺全面的,可惜我都不需要,准备自己根据公司的工作流程开发 ...
常用redmine插件推荐
文章列表
工作中常常要对两台不同DB服务器的schema进行比较。比如测试机器和本番机器。
比较内容有各个表的字段的长度,属性,还有index等。
采取的办法是执行下面三个sql文,把DB情报生成出文件,然后对文件进行diff处理。
1. 抽出各个表的字段情报。
set echo off;
set linesize 30000;
set pagesize 32767;
set trimspool on;
set autocommit off;
set exitcommit off;
set null NULL;
COLUMN DATA_TYPE FORMAT A20;
...
shell里面,常出现程序执行结果既要往终端输出,又要往log文件输出的情况,这时候一般都使用tee。
例如:
#!/bin/sh
command | tee -a out.txt
ST=$?
但是现在变量ST里设置的返回值是tee命令的返回值,而不是command的返回值, 所以出现即使command执行结果出错,可变量ST的值仍是正常0的情况。
解决办法是使用环境变量PIPESTATUS, 这个数组型变量里面存放用"|" 隔开的各个命令的执行结果。
上例是想取缔一个命令的执行结果,所以代码应该如下
#!/bin/sh
co ...
在shell里面,需要对输入文件进行一些比较复杂的逻辑判断的时候,就有可能用到awk了。
例如,如果某固定长文件,第86列开始的4个字节是年份,只抽出年份>2014的行的时候,代码如下
#!/bin/sh
in_file=/home/xxx/xxx.in
out_file=/home/xxx/xxx.out
year=2014
cat ${in_file} | awk -v day="$year" '{FIELDWIDTHS="85 4"} {F=$2; if (F > day) print $0;}' > ...
在shell里面,按行读取文件得注意设置环境变量IFS,否则无法正确读入。
具体例子如下
OLDIFS=$IFS
IFS=$'\n'
xxx_file=/home/xx/xxx.txt
in_file=/home/xxx/xxx.in
for pattern in $(cat ${xxx_file})
do
grep -v -e $pattern ${in_file}
done
IFS=$OLDIFS
要按行读取csv文件时候,代码如下
IFS=","
sed "1,3d" ${input_f ...
下面是我自做的pro*cobol + micro focus cobol编译用makefile
1. 共通定义common.mak
export COBCPY=../cpycom
export COBIDY=../../obj
DBCONN = xxx/xxx@orclxx'
COB = cob64
PROCOB = $(ORACLE_HOME)/bin/procob
RM = rm -f
MV = mv
CP = cp
CPYDIR = ../cpyxx
APLLIBDIR = ../../lib
OBJDIR = ../../obj
EX ...
- 2015-02-13 12:43
- 浏览 1541
- 评论(0)
micro focus cobol 默认只能处理大小不超过2GB的文件,如果想要处理更大的文件,配置文件extfh.cfg里面应加入下面内容
[XFH-DEFAULT]
FILEMAXSIZE=8
IDXFORMAT=8
FILEMAXSIZE={4|8} 4是指2GB以下,8指文件大小无限制。
IDXFORMAT={0|1|3|4|5|6|8}, 8指大容量index文件形式,默认是3
linux平台上用C读取csv文件一种方法, 但是对NULL项目无效,比如两个连续逗号的项目。
fscanf和scanf的格式里面,可以用%[^...]来指定读取除括号以外的文字。
比如有如下csv文件
test01,10,11,1.0,1.1
test02,20,21,2.0,2.1
test03,30,31,3.0,3.1
那么读取CSV文件的代码如下
#include <stdio.h>
int main(void)
{
FILE *fp;
char *fname = "comma.csv";
...
自用的用来编译pro*c 代码的makefile, 包括2个部分,一个是common.mak, 定义一些共通属性,一个则是用来编译main程序。
1. common.mak
.SUFFIXES: .pc .c
vpath %.h ../inc
vpath %.tbl ../tbl
CC = gcc
PROC = proc
LD = ld
RM = rm -f
DEBUGFLAG = -g
CFLAGS = -W -Wall -DISA_DEBUG -c
PROC_CFLAGS =
INC = ../inc
TBL = ../tbl
OBJ = .. ...
struts2里面防止日文乱码有两种写法
1. 修改struts.xml, 加入以下代码
<constant name="struts.i18n.encoding" value="Windows-31J"/>
2. 本人未验证过,先记下来。是修改web.xml, 据说可以覆盖struts.xml里的设定
<filter>
<filter-name>struts2</filter-name>
<filter-class>org ...
HTML中,让checkbox后面的文字象checkbox一样变成可点击生效的写法有两种
1. 用label包括checkbox
<label><input type="checkbox" id="milk" value="milk">Milk</label>
2. 使用label的for属性,但要匹配上checkbox的id
<input type="checkbox" id="checkbox_id" value=&quo ...
linux默认语言编码环境是UTF8,要设置成shift-jis日语环境要做以下处理。
1. 追加sjis的locale
# localedef -f SHIFT_JIS -i ja_JP /usr/lib/locale/ja_JP.SJIS
2. 确认是否追加成功
# locale -a |grep ja
应出以下结果
ja_JP
ja_JP.SJIS
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
japanese.sjis
3. 设置LANG环境变量
# ...
- 2015-02-09 12:21
- 浏览 1870
- 评论(0)
通过sed替换固定长文件中某个位置开始的字符串
比如要把从第100个字节开始的8个字符替换成今天的日期,代码应该如下
#!/bin/sh
in_file=./xxx.in
out_file=./xxx.out
today=20150101
sed -e "s/\(^.\{99\}\)[0-9]\{8\}\(.*\)/\1${today}\2/" ${in_file} > ${out_file}
在shell里面通过调用sqlplus取得oracle系统时间并返回shell的一种方法
#!/bin/sh
today=`sqlplus -l -s ${LOGON} << EndOfSQL
whenever sqlerror exit 1 ROLLBACK
set heading off
select to_char( sysdate, 'yyyymmdd' ) from dual;
exit 0
EndOfSQL`
today=`echo $today ...
如何确定oracle 版本
- 博客分类:
- oracle
在sqlplus里面,执行下面语句,就能看到当前oracle server的版本。
select * from v$version
安装redmine时候, 中途出现以下错误:
rake config\initializers\session_store.rb
Please install RDoc 2.4.2+ to generate documentation.
rake aborted!
Don't know how to build task 'config\initializers\session_store.rb'
按照上述提示,需要安装rdoc,可是安装rdoc,又必须安装DevKit,具体安装步骤如下:
从rubyinstaller
的网站下载DevKit,并解压到硬盘上,比如c:\ ...