您的位置:首页 > 其它

杂记,主要是工作中遇到的问题及解决办法

2006-03-16 15:41 621 查看
登陆as04 - oracle的命令:
1.telnet as04.wh.wistronits.com
2.login:oracle
3.chdb #选择数据库实例
ORACLE_SID = iasdb #默认的,可以直接输入回车
ORACLE_HOME = /opt/app/oracle/product/10.1.0/db_1
4.cd $ORACLE_HOME
5.cd bin
6.dbstart #启动数据库
7.lsnrctl start #启动监听

登陆251 - oracle的命令:
cd /opt/ora9/product/9.2/bin

lsnrctl start
agentctl start

export ORACLE_SID=essp
sqlplus /nolog
connect / as sysdba
startup
exit

export ORACLE_SID=essptemp
sqlplus /nolog
connect / as sysdba
startup

2.卢亮?QQ: 17535856
3.<自己动手些操作系统> 群号:7872966
验证信息一定要写上:“自己动手写操作系统”,“操作系统”,“OS”之类的。
4.The C Puzzle Book :
很不错的书,可以深入了解C的语法。
我看过了,用处不大。就是一些语法的测试

3.数据库导入后注意这几个表:
essp_hr_employee_main_t
essp_upms_function
essp_upms_user_fun
最好重新导一遍。

5.cvs中导入一个文件夹可以用import命令:
工作目录设为:D:/essp/essp2005
在要导入的文件夹上点右键,选import。在接下来的设置里设modul名为:"根模块名/...(路径)/本文件夹",比如 essp2/pms,根目录为essp2,根到本文件夹的路径为essp2/pms.
只需注意:是左斜杠/而不是右斜杠/。
6. hibernate的一个奇怪的错误:
如果数据库中的字段类型为Date,而database bean中定义的是String ,而实际保存时的值为一个Date型的object转的字符串
结果保存时抱错:值中含非数字字符,预期为numeric,

*****************************linux学习*****************************************************************
1. ls 列出文件和目录的命令:
ls命令有很多的选项:
-A 选项用来列出所有的文件,包括那些隐藏的文件(比如.bashrc)
-l 这个选项用来显示一个列表,显示每个文件的大小,修改日期等
-R 显示出所有文件(包括子目录的) recursive
--help
2. cd 与windows的一样:
cd / -->进入根目录
cd .. -->上一级目录
cd ~ 进入用户的个人目录,root用户就是/root目录,kris用户就是/home/kris目录
cd - 进入上一个提示符的目录

cd命令不带任何参数,这样就可以回到自己的目录 /usr
3. pwd 打印当前的目录
4. mkdir 新目录名
5. rm 待删除的文件名或目录名 (删除一个目录,如果一个目录里面已经有文件,rm是不让直接删除的)
-rf -->删除目录,既使里面有文件,也删除它
6. mv 老文件名 新文件名
mv 老目录名 新目录名
7. cp 老文件名 新文件名
8. man 命令名字,查看命令的手册
9. cat LoveLetter 显示文件的内容
10. 关机命令是halt
重启动命令是reboot
shutdown命令
shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。该命令的一般格式为:
shutdown [选项] [时间] [警告信息]
命令中各选项的含义为:
- k 并不真正关机,而只是发出警告信息给所有用户。
- r 关机后立即重新启动。
- h 关机后不重新启动。
- f 快速关机,重启动时跳过fsck。
- n 快速关机,不经过init程序。
- c 取消一个已经运行的shutdown。
需要特别说明的是,该命令只能由超级用户使用。
例1:系统在十分钟后关机,并且马上重新启动。
# shutdown – r +10  

例2:系统马上关机,并且不重新启动。
# shutdown – h now

11. mount -t iso9660 /dev/cdrom /mnt/cdrom 把光驱挂装到/mnt/cdrom目录
-t参数是指定光盘的文件系统类型,一般来说,光盘都是用的iso9660标准的格式
/dev/cdrom即指光盘
/mnt/cdrom为一个目录
mount /dev/fd0 /mnt/floppy 挂载软盘
umount /mnt/cdrom或umount /dev/cdrom 取消挂载。挂载光盘后,光盘将不能被“弹出”,即使按按钮也没用。
umount /dev/fd0
12. more 管道命令
more LoveLetter --> LoveLetter的内容显示在屏幕上,没到一页就自动停下来,等待你的按键,然后才继续显示下面一页。
>
一个大于符号的管道是用来创建一个新的文件filenames.txt,如果已经有了同名的文件就复盖掉以前的内容。
>>
两个大于符号的管道是用来在已经存在的文件后面追加新的内容,如果没有这个文件就创建它。
cat >> friends << "EOF"
意思就是把我们输入内容保存到friends文件里面,当我们输入“EOF”的时候结束。“<<”的意思就是向前面的命令传送一个数据。
13. free命令
free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。该命令的一般格式为:
free [-b | -k | -m]
命令中各选项的含义如下:
-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以兆字节为单位显示。

21.高宁的电话:13970229725

任燕 13995603712

陈佳丽 13972158072

熊磊的 13971294793

余阳 027-62998772

肖斌 13330021260

肖斌 0792-8814227

李奕 13871270956
何志豪 13886152331

22.有意思的问题:在abstract class中定义一个无public/protected/private修饰的package scope的abstract方法,则该方法的实现类必须在同一个package中,
,在不同的package中的话,编译时会出错,认为没有实现该absctract方法。
这是不是说:abstract class中的abstract方法不默认有public scope?

23.JBoss重起:点击JBoss窗口关闭按钮,不要关闭窗口,等待自己结束。再开启。

24:oracle的查询树的语句:
select count(*)
from dept
start with rid=?
connect by prior rid=parentRid;

25: catalina run > D:/log.txt
这个命令可以将tomcat的输出文字写到文件log.txt中去。

27: dos命令发声的方法:
1. 用echo 命令: echo ^G
由于特殊字符^G没法直接输入到文本中,用下面方法写到文本中:
在dos控制台上输入: echo "echo ^G" > C:/a.bat
在文件a.bat中删除前后的引号即可。(在控制台上输入^G的方法是:alt + 7 或者 ctrl + G)
2.用choice命令: echo a^_ | choice /c^_ /n
可用与1.相同的方法写入到文本中去。(在控制台上输入^_的方法是:alt + 255 ,实际上是一个无显示字符,但不是空字符)

28: cvs:
1. 登陆命令:cvs -d:pserver:huaxiao:huaxiao@as04.wh.wistronits.com/home/cvsroot/essp login
注意两个"huaxiao"为用户名和密码,如果省略了一个,则认为是用户名,如果该用户的密码不为空,则会提示输入密码;一般anonymous帐号不需要密码

2. 命令 cvs history -c 打印出模块下(具体是哪个模块则好像根据当前模块有关)的每个文件的历史"提交"动作(M 修改,A 新增,R 删除,)
与"-c"参数相同的是"-x"参数,它指定输出指定的动作,动作列表见3。
如"cvs history -x A"打印出所有的"新增"动作
"-c" 与 "-x MAR"等效
cvs history -c -z +0800 参数"-z +0800"指定输出的信息中的时间的值,即比标准时间多8小时0分钟
cvs history -c -z +0800 -f new.txt 打印参数"-f new.txt"指定文件的历史动作
cvs history -c -l 参数"-l"表示只输出最新的一次历史动作,如果没有指定话,就输出历次动作

典型例子:
1. cvs -d :pserver:huaxiao:huaxiao@as04.wh.wistronits.com:/home/cvsroot/essp history -c >E:/essp/T/cvs.log
/home/cvsroot/essp是一个cvs仓库,本命令会将其中的所有模块的history打印出来,比如模块essp和essp2。

缺陷:当用import命令将文件导入到馆中时,这些文件将没有history,即history命令的输出不含这些文件的信息。
log命令不会有这个问题。

history命令在控制台上的输出形如:
M 2006-01-16 13:49 +0000 huaxiao 1.4 build.xml essp2/attendance == <remote>
A 2006-01-16 11:49 +0000 huaxiao 1.3 build.xml essp2/attendance == <remote>
3。 记录类型:
一些命令有一个单独的记录类型:
F release
O checkout
E export
T rtag
update 产生的记录类型:

C 合并后有冲突发生(需要手动合并)。
G 合并成功。
U 从仓库复制了工作文件。
P 为工作文件打补丁,与仓库中相配。
W 更新期间删除了工作副本(因为在仓库里面已经删除)。
commit 产生的三种记录类型:
A 首次增加文件。
M 修改了文件。
R 删除了文件。

4. cvs log命令:
cvs log 会打印出最详细的信息
cvs log -l 参数"-l"表示不要遍历子目录,只当前目录
cvs log -R 参数"-R"表示只输出每个文件对应的RCS文件(RCS文件就是每个文件的名字+",v")
其输出形如:
RCS file: /home/cvsroot/essp/essp2/crm/src/server/essp/crm/resources/application.properties,v
Working file: src/server/essp/crm/resources/application.properties
head: 1.1
branch:
locks: strict
access list:
symbolic names:
V2_20060109: 1.1
V1_6_0: 1.1
V1_5_3: 1.1
V1_5_2: 1.1
V1_5_Branch: 1.1.0.2
V1_5_1: 1.1
V1_5_0: 1.1
V1_4_0: 1.1
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
----------------------------
revision 1.1
date: 2005/10/20 01:18:28; author: rongxiao; state: Exp;
no message
=============================================================================

典型例子:cvs -d :pserver:huaxiao:huaxiao@as04.wh.wistronits.com:/home/cvsroot/essp log >E:/essp/T/cvs.log
解释:
在控制台上执行cvs log命令时 它会遍历当前目录的所有子目录,找出归cvs管辖的文件(实际是读取CVS/repository文件取得模块名),为其生成log
所以,"当前目录"很重要(设想一下,如果同一个模块当前目录被checkout了2份,那么会生成2遍log)。

4. 在wincvs中新增一个用户guest(也可以用于修改密码):
cvs passwd -r administrator -a guest
解释:cvs passwd (passwd命令)
-r administrator (administrator为已存在的"real"用户,注意是"real"用户,像用本命令生成的用户不是"real"用户。
机器的管理员是一个"real"用户)
-a guest (新增的用户)
命令执行后会提示输入密码,输入:guest
则新增成功。如果用户已存在,则相当于修改密码。

本命令会在passwd文件中新增一行:
guest:O0jupqWoOBDsU:administrator
解释:用户名:加密后的密码:已存在的用户。
实际上直接操作passwd文件会有同样效果。
5.为用户增加权限:
(好像在4种新增的用户就有和已存在用户相同的权限了)
修改writers和readers文件,将用户名新增进去即可。
6.cvs馆中文件可以使用下面的keyword
$Author$ 检入该版本的用户登录名。
$Date$ 该版本被检入的日期与时间(UTC)。
$Header$ 标准的 header 包括 rcs 文件的全路径、版本号、日期(UTC)、作者、状态、加锁人(如果有锁)。在使用 cvs 中文件通常不用加锁。
$Id$ 除了 rcs 文件不包括路径,其余和 $Header$ 相同。
$Name$ 检出此文件所用的标签名。该关键字只在检出时显式加上标签时扩展。比如,运行 cvs co -r first 命令时,关键字扩展为 `Name: first'。
$Locker$ 锁定版本的用户登录名(如果没有加锁此项为空,一般就如此,除非使用 cvs admin -l 加锁)。
$Log$ 日志信息在提交时提供,前面是一个 header 包括 rcs 文件名、版本号、作者、日期(UTC)。已有的日志信息不会被替换。相反,新日志信息将插在 $Log:...$之后。默认,每一新行前面使用同样的 $Log$ 关键字前的字符串, 除非在 CVSROOT/config 里面设置 MaxCommentLeaderLength。
例如,文件文件包含:
/* Here is what people have been up to:
*
* $Log: frob.c,v $
* Revision 1.1 1997/01/03 14:23:51 joe
* Add the superfrobnicate option
*/
$RCSfile$ 不带路径的 RCS 文件名。
$Revision$ 该文件的修订版本号。
$Source$ RCS 文件的完整路径。
$State$
在提交时,cvs会用实际值插入到keyword中比如:
$Author$ 被替换成:$Author: administrator $
无论keyword在哪,都会做替换。

7. checkout命令:
cvs -d :pserver:huaxiao:huaxiao@as04.wh.wistronits.com:/home/cvsroot/essp2 checkout -d essp2.2 -r HEAD
命令会在当前目录下创建目录essp2.2(如果已存在,则会出现异常),然后将modul essp2的内容checkout到新建的essp2.2目录中去,注意在essp2.2下不会为modul essp2再创建essp2子目录。
8. update命令:
cvs update -P 参数‘-P’会清除空目录
cvs update -d 参数'-d'会创建新目录
cvs update -r 1.1 tc/build.xml 得到文件的1.1版本
9. diff命令:
cvs diff -r 1.6 -r 1.7 tc/build.xml 得到文件1.6和1.7版本的差异
diff结果解读:
1.修改时一般输出下面:
236c237
< <jar destfile="${project.build}/applet/tc_client.jar">
---
> <jar destfile="${project.build}/applet/tc_client.jar" update="true" index="true">
有多行不同时输出:
238,240c239,240
< <include name="log4j.properties"/>
< <include name="c2s/essp/tc/**/*.*"/>
< <include name="client/essp/tc/**/*.*"/>
---
> <include name="c2s/**/*.*"/>
> <include name="client/**/*.*"/>
"236c237" 即build.xml的1.6版本的236行与1.7版本的237行不同(注意顺序,一般是将高版本与低版本比较)
"238,240c239,240" 即1.6版本的238行——240行于1.7版本的239行——240行不同
2.新增时一般输出下面:
233a234
>
注意尖括号的方向,'<'表示前一个比较文件(1.6版本),'<'表示后一个。这里是1.7版本的新增了行。
上面输出表示1.7版本增加了一行234空行(相对1.6版本,从1.6版本的233行开始)。
3.删除时一般输出下面
247d246
< <copy todir="${project.web}/applet" file="${project.build}/applet/tc_client.jar" />
注意尖括号的方向,这里是1.6版本的删除了行。
表示1.6版本删除了一行247(相对1.7版本,从1.7版本的246行开始)。

29. 有意思的mail异常:
用mail.jar包发送邮件,然后用一个批处理来运行SendMail程序,发觉当所有jar(包括mail.jar, SendMail.class等所需的所有包)都打成一个jar时
运行出错:javax.mail.NoSuchProviderException: No provider for smtp
解决办法是将mail.jar单独出来,不和其他的打在一起。
不知何故。

30. oracle
1. orcale函数示例:
将时间字段转字符串: to_char(b.datefrom,'yyyy')
转为时间类型: TO_DATE( '20060101', 'yyyyMMdd' ) ( to_date( to_char(b.datefrom,'yyyy'), 'yyyy') -->将时间字段的月日等去掉 )
转为数字类型: TO_NUMBER( , )
2. insert into table1 ( rid ) select rid from table2
将表table2的内容插入到table1中去,注意没有values关键字
3. 导出数据: exp essp/essp@essp_as04, 其中essp_as04为配置的服务名。
导入数据: imp essp/essp@essp_as04, 其中essp_as04为配置的服务名。
4。删除表:drop table pms_ant;
删除表及与它有外键关系的表: drop table pms_ant cascade constraints;
5. exp命令参数:
USERID: 运行导出命令的帐号的用户名/口令
BUFFEER: 用来取数据行的缓冲区的大小
FILE: 导出转储文件的名字
COMPRESS: 导出是否应该压缩有碎片的段成一个范围,这将会影响STORAGE子句
GRANTS: 导出时否要导出数据库对象上的授权
INDEXES: 是否要导出表上的索引
ROWS: 是否应导出行。如它为‘N’,那么在导出文件中仅生成数据库对象的DDL
CONSSTRAINTS: 是否导出表旧的约定条件
FULL: 如设为‘Y’,那么将执行一个整个数据库导出操作
OWNER: 要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作
TABLES: 要导出的一系列表;执行这些表的TABLE导出操作
RECORDLENGTH: 转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导出文件
INCTYPE: 正在执行的导出操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)
RECORD: 在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中
PARFILE: 要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项
ANALYZE: 标明是否将移对象的统计信息写入导出转储文件中
CONSISTENT: 标明是否保留所有导出对象的读取一致复制
LOG: 导出日志将要写入的文件的名字

实例: exp essp/essp@essp_as04 file=essp_20060223_2.dmp log=essp_20060223.log tables=pms_ant,pms_activity

imp命令参数:
USERID: 运行导入命令的帐号的用户名/口令
BUFFEER: 用来取数据行的缓冲区的大小
FILE: 导入转储文件的名字
SHOW: 规定文件内容是否被显示,而不是被执行 (?不懂!)
IGNORE: 标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数
FULL: 如设为‘Y’,那么将执行一个整个数据库导入操作
FROMUSER: 在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其对象应从导出转储文件中读取
TOUSER: 一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号
GRANTS: 导入时否要导入数据库对象上的授权
INDEXES: 是否要导入表上的索引
ROWS: 是否应导入行。如它为‘N’,那么在导入文件中执行数据库对象的DDL
TABLES: 要导入的一系列表
RECORDLENGTH: 转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件
INCTYPE: 正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)
PARFILE: 要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项
ANALYZE: 标明是否将移对象的统计信息写入导入转储文件中
LOG: 导入日志将要写入的文件的名字
INDEXFILE: 不执行导入动作,只生成建索引的文本
6.查出所有表: select table_name from user_tables

31: email :
<mime-mapping>
<extension>eml</extension>
<mime-type>message/rfc822</mime-type>
</mime-mapping>

32: visual studio's product id: 50021-111-1111111-54088
壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分

http://ftp.sdshiyan.cn/soft/program/DN60ACHS2.rar

33:
关于学C++, 我向你推荐一些书(当然能够结合课内项目实践更好):
1。The C++ Programming Language(Bjarne Stroustrup)
2。 Inside The C++ Object Model (Stanley B. Lippman) (这本书介绍一些C++的内部实现)
3。 Advanced C++ Programming Styles And Idioms (James O. Coplien) (这本书介绍一些C++编程的习惯用法)
4。 STL Tutorial and Reference Guide (David R. Musser) (Professor Musser 是我母校的教授,STL的创始人之一。这本书介绍Generic Programming 的思想和标准)。
5。 Design Patterns (Erich Gamma) (很精典的面向对象设计的组件和实例)当然,看任何一本书的时候都要动手(试例程或做习题)。然后尝试着在课堂项目中把书中的方法试验一下,以加深印象。" 国外C++几乎所有的教材都被翻译为中文了,如果没有翻译的也已经有影印版出版。
50 TCPL和D&E分别是《The C++ Programming Language》和《The Design and Evolution of C++》的简称,均出自Bjarne Stroustrup之手。说它们是C++语言圣经,并不为过。中文名称:《C++程序设计语言(特别版)》,机械工业出版社《C++语言的设计和演化》,机械工业出版社
6. 入门教程 Stanley B.Lippman, Josee Lajoie, C++ Primer (3rd Edition) 《C++ Primer (3RD)中文版》,中国电力出版社
7. Stanley B. Lippman, Essential C++ 《Essential C++中文版》,华中科技大学出版社
8.《Essential C++(影印版)》,中国电力出版社
9. 高效、健壮编程《Effective C++中文版》,华中科技大学出版社
10.《More Effective C++中文版》,中国电力出版社
11.《Exceptional C++中文版》,中国电力出版社
12《More Exceptional C++中文版》,华中科技大学出版社模板和泛型编程
13《C++ Templates全览(简体版)》,人民邮电出版社
14《C++设计新思维:泛型编程与设计模式之应用》,华中科技大学出版社标准库
15《C++标准程序库:自修教程与参考手册》,华中科技大学出版社
16《Effective STL(影印版)》,中国电力出版社网络编程
17《C++网络编程,卷1:运用ACE和模式消除复杂性》,华中科技大学出版社
18《C++网络编程,卷2:基于 ACE 和框架的系统化复用》,电子工业出版社杂项
19《C++编程思想(第2版)第1卷:标准C++导引》,机械工业出版社
20《C++编程思想(英文版 第2版)》,机械工业出版社
21《C++沉思录》,人民邮电出版社
22《深度探索C++对象模型》,华中科技大学出版社
23《深度探索C++对象模型(影印版)》,中国电力出版社
24 C++工程领域的最高境界:《设计模式:可复用面向对象软件的基础》,机械工业出版社

34: 有意思的jbuilderX中设置tomcat4和tomcat5:
在config server中,配置一个tomcat4.0时,一般情况下,只要指定一个tomcat的目录即可。其它的,比如启动jar(bootstrap.jar)/运行tomcat所需的jar(common/lib/serlet.jar)jbuilder都提供默认设置。
配置server后,可以创建一个web module,使用tomcat4.0 server。运行此web时,jbuilder会做两件事:在工程目录下生成一个tomcat的临时目录,在其下生成config/server8080.xml和webapp/jb-test.xml两个文件。
这两个文件即对应tomcat默认的server.xml和web.xml。
对tomcat4.0来说,这一切都是对的,可以保证tomcat可以启起来。
但对tomcat5.0却不行。如果配置的是tomcat5.0,jbuilder仍然认为它是一个tomcat4.0,这就会出现三个问题:
1. serlet.jar在tomcat5.0中没有了,在jbuilder中不需要设置运行所需的Jar;
2. 自动生成的server8080.xml中指定connect类为org.apache.coyote.tomcat4.CoyoteConnector,这个tomcat4没有了,要改成tomcat5
3. jb-test.xml放在webapp下不起作用了。
修改的办法是:1。将文件server8080.xml中的tomcat4该为tomcat5;2。将jb-test.xml的内容合并到server8080.xml中去。
注意:修改server8080.xml时删除这一句话:"<!--This comment marks this file as generated, so it may be deleted and regenerated at any time. To preserve manual changes to this file, delete this comment.-->"

jbuilder2005会正确识别tomcat4和tomcat5,并作正确的设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: