2008年12月23日

JAVA使用POI读取EXCEL文件的简单model

 1 package poi;
 2 import java.io.FileInputStream;
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.util.Iterator;
 6 import org.apache.poi.hssf.usermodel.HSSFCell;
 7 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 8 import org.apache.poi.ss.usermodel.Cell;
 9 import org.apache.poi.ss.usermodel.Row;
10 import org.apache.poi.ss.usermodel.Sheet;
11 import org.apache.poi.ss.usermodel.Workbook;
12 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
13  
14 public class ReadExcel001 {
15     public static void main(String[] args) {
16         readXml("D:/test.xlsx");
17         System.out.println("-------------");
18         readXml("d:/test2.xls");
19      }
20     public static void readXml(String fileName){
21         boolean isE2007 = false;    //判断是否是excel2007格式
22         if(fileName.endsWith("xlsx"))
23             isE2007 = true;
24         try {
25             InputStream input = new FileInputStream(fileName);    //建立输入流
26             Workbook wb  = null;
27             //根据文件格式(2003或者2007)来初始化
28             if(isE2007)
29                 wb = new XSSFWorkbook(input);
30             else
31                 wb = new HSSFWorkbook(input);
32             Sheet sheet = wb.getSheetAt(0);        //获得第一个表单
33             Iterator<Row> rows = sheet.rowIterator();    //获得第一个表单的迭代器
34             while (rows.hasNext()) {
35                 Row row = rows.next();    //获得行数据
36                 System.out.println("Row #" + row.getRowNum());    //获得行号从0开始
37                 Iterator<Cell> cells = row.cellIterator();    //获得第一行的迭代器
38                 while (cells.hasNext()) {
39                     Cell cell = cells.next();
40                     System.out.println("Cell #" + cell.getColumnIndex());
41                     switch (cell.getCellType()) {    //根据cell中的类型来输出数据
42                     case HSSFCell.CELL_TYPE_NUMERIC:
43                         System.out.println(cell.getNumericCellValue());
44                         break;
45                     case HSSFCell.CELL_TYPE_STRING:
46                         System.out.println(cell.getStringCellValue());
47                         break;
48                     case HSSFCell.CELL_TYPE_BOOLEAN:
49                         System.out.println(cell.getBooleanCellValue());
50                         break;
51                     case HSSFCell.CELL_TYPE_FORMULA:
52                         System.out.println(cell.getCellFormula());
53                         break;
54                     default:
55                         System.out.println("unsuported sell type");
56                     break;
57                     }
58                 }
59             }
60         } catch (IOException ex) {
61             ex.printStackTrace();
62         }
63     }
64 }

posted @ 2015-01-13 09:57 鲁胜迪 阅读(326) | 评论 (0)编辑 收藏

安装版的tomcat设置JAVA_OPTS="-Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M"

tomcat如果是通过windows服务启动,执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions
原值为
-Dcatalina.home=E:\Tomcat 6.0
-Dcatalina.base=E:\Tomcat 6.0
-Djava.endorsed.dirs=E:\Tomcat 6.0\common\endorsed
-Djava.io.tmpdir=E:\Tomcat 6.0\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

-Djava.util.logging.config.file=E:\Tomcat 6.0\conf\logging.properties


在后面增加即可:

-Xms128M

-Xmx512M

-XX:PermSize=128M

-XX:MaxPermSize=512M

必须要分行写。

最终效果如下:

posted @ 2014-11-07 10:29 鲁胜迪 阅读(2372) | 评论 (0)编辑 收藏

ORA-1653报错 调整oracle数据表的最大值

当一个数据库的数据文件达到表空间的最大值时,报ORA-1653:的错误。如下:

ORA-1653: unable to extend table TEST.COMM_DTTR_SVR_LOG by64 in tablespace TEST_SPACE

解决:

可以在该表空间中增加一个数据文件,增加的数据文件为自动扩展,无限扩大。

查看数据文件的大小和最大的值,可以查询dba_data_files;

Sql>

alter tablespace  TEST_SPACE
adddatafile'/Oracle/oms/oradata/pub/Norm_data001.dbf'
size  10M   autoextend  on  MAXSIZE  UNLIMITED;

或者把该表空间所在的数据文件设置成自动扩张,设置该maxsize更大,unlimited表示没有限制。

SQL>

alter  database
datafile   '/oracle/oms/oradata/pub/Pub_Norm_data001.dbf'
autoextend   on   maxsize    unlimited;

posted @ 2013-11-06 12:40 鲁胜迪 阅读(949) | 评论 (0)编辑 收藏

js记住用户名密码

共计以下4个文件  点击“下载”
    login.html

    welcome.html
    cookie.js
    common.js

login.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>login</title>
<script type="text/javascript" src="cookie.js"></script>
<script type="text/javascript" src="common.js"></script>
</head>
<body>
<form action="">
<p>
    
<span>UserName:</span>
    
<input id="userName" type="text" value=""/></p>
<p>
    
<span>Password:</span>
    
<input id="password" type="password" value=""/></p>
<p>
    
<span style="font-size:12px; color:blue;">记住密码</span>
    
<input id="saveCookie" type="checkbox" value="" /></p>
<p>
    
<input id="submit" type="button" value="GO" />
</p>
</form>
</body>
</html>


welcome.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>welcome</title>
</head>
<body>
<h1>Welcome!</h1>
<href="login.html">点击返回登陆框</a>
</body>
</html>


cookie.js

//新建cookie。
//
hours为空字符串时,cookie的生存期至浏览器会话结束。hours为数字0时,建立的是一个失效的cookie,这个cookie会覆盖已经建立过的同名、同path的cookie(如果这个cookie存在)。
function setCookie(name,value,hours,path){
    
var name = escape(name);
    
var value = escape(value);
    
var expires = new Date();
     expires.setTime(expires.getTime() 
+ hours*3600000);
     path 
= path == "" ? "" : ";path=" + path;
     _expires 
= (typeof hours) == "string" ? "" : ";expires=" + expires.toUTCString();
     document.cookie 
= name + "=" + value + _expires + path;
}
//获取cookie值
function getCookieValue(name){
    
var name = escape(name);
    
//读cookie属性,这将返回文档的所有cookie
    var allcookies = document.cookie;       
    
//查找名为name的cookie的开始位置
     name += "=";
    
var pos = allcookies.indexOf(name);    
    
//如果找到了具有该名字的cookie,那么提取并使用它的值
    if (pos != -1){                                             //如果pos值为-1则说明搜索"version="失败
        var start = pos + name.length;                  //cookie值开始的位置
        var end = allcookies.indexOf(";",start);        //从cookie值开始的位置起搜索第一个";"的位置,即cookie值结尾的位置
        if (end == -1) end = allcookies.length;        //如果end值为-1说明cookie列表里只有一个cookie
        var value = allcookies.substring(start,end); //提取cookie的值
        return (value);                           //对它解码      
         }   
    
else return "";                               //搜索失败,返回空字符串
}
//删除cookie
function deleteCookie(name,path){
    
var name = escape(name);
    
var expires = new Date(0);
     path 
= path == "" ? "" : ";path=" + path;
     document.cookie 
= name + "="+ ";expires=" + expires.toUTCString() + path;
}


common.js

function $(objStr){return document.getElementById(objStr);}
window.onload 
= function(){
    
//分析cookie值,显示上次的登陆信息
    var userNameValue = getCookieValue("userName");
     $(
"userName").value = userNameValue;
    
var passwordValue = getCookieValue("password");
     $(
"password").value = passwordValue;    
    
//写入点击事件
     $("submit").onclick = function()
     {
        
var userNameValue = $("userName").value;
        
var passwordValue = $("password").value;
        
//服务器验证(模拟)    
        var isAdmin = userNameValue == "admin" && passwordValue =="123456";
        
var isUserA = userNameValue == "userA" && passwordValue =="userA";
        
var isMatched = isAdmin || isUserA;
        
if(isMatched){
            
if( $("saveCookie").checked){  
                 setCookie(
"userName",$("userName").value,24,"/");
                 setCookie(
"password",$("password").value,24,"/");
             }    
             alert(
"登陆成功,欢迎你," + userNameValue + "!");
             self.location.replace(
"welcome.html");
         }
        
else alert("用户名或密码错误,请重新输入!");    
     }
}

posted @ 2013-07-26 17:39 鲁胜迪 阅读(299) | 评论 (0)编辑 收藏

Oracle提示错误消息ORA-28001: the password has expired

Oracle提示错误消息ORA-28001: the password has expired

Oracle提示错误消息ORA-28001: the password has expired,

经调查是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录。 
可通过

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'

语句查询密码的有效期设置,

LIMIT字段是密码有效天数。在密码将要过期或已经过期时可通过

ALTER USER 用户名 IDENTIFIED BY 密码 ;

语句进行修改密码,密码修改后该用户可正常连接数据库。

长久对应可通过

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

语句将口令有效期默认值180天修改成“无限制”。出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,

建议客户定期修改数据库用户口令。


转载于 http://hi.baidu.com/yuelsygfixbqsuq/item/ddfc8e4b4888ae1e896d10c0

posted @ 2013-02-25 09:42 鲁胜迪 阅读(423) | 评论 (0)编辑 收藏

jrebel(破解版)+eclipse +jetty/tomcat 配置,实现热部署

1、安装eclipse的jrebel插件

Help » Install New Software

然后通过 如下 URL  http://www.zeroturnaround.com/update-site/
如果要离线下载的话,可以通过下载离线包的方式进行 http://www.zeroturnaround.com/update-site/update-site.zip

JRebel安装使用说明


2、下载jrebel5破解版
    下载jrebel5破解版以后解压到D盘根目录即可
    下载地址 :http://download.csdn.net/detail/lushengdi/5080360

    配置jrebel破解版JAR包的路径 :

 

 

3、配置jetty实现热部署

    这是为jetty加载jrebel的关键。

    项目右键 》 run as 》 run configuation.. 》 点击jetty项目

    在mvn jetty:run的JRE管理选项卡中的VM参数中加入

      -noverify -javaagent:d:/jrebel/jrebel.jar

      

    现在在eclipse中启动mvn jetty:run,jrebel将被加载,修改java代码可以不重启jetty而热部署生效了,
    修改java文件后自动在输出窗口中显示重新加载的信息
2009-07-15_150006


tomcat 配置 参考

How to install and use JRebel in Tomcat, JBoss or Jetty with the Eclipse IDE

 http://zeroturnaround.com/jrebel/how-to-install-and-use-jrebel-formerly-javarebel-in-tomcat-with-the-eclipse-ide/

posted @ 2013-02-22 15:54 鲁胜迪 阅读(12116) | 评论 (1)编辑 收藏

[转]jspSmartUpload上传下载全攻略(2012.8.30最新版)

     摘要: 安装篇jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点:1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类...  阅读全文

posted @ 2013-01-05 18:48 鲁胜迪 阅读(889) | 评论 (0)编辑 收藏

浏览器缓存内幕及解决方案

     摘要:   浏览器缓存内幕及解决方案    在下面三种不同的情况下,浏览器的缓存情况不同:   1).Servlet没有覆盖getLastModified方法,响应消息中无LastModified头字段,在浏览器缓存的文档无“上次修改时间”.      2).有ge...  阅读全文

posted @ 2012-09-07 17:27 鲁胜迪 阅读(2610) | 评论 (0)编辑 收藏

纯js判断浏览器版本

js的判断浏览器的版本,包括IE(6,7,8),FF,chrome,opera,safari的,很好用,很多地方会用到,有时不需要为了一个效果而导入一个js库来调用,用这段代码就很好。
Code:
<script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        /*以下进行测试
        if (Sys.ie) alert('IE: ' + Sys.ie);
        if (Sys.firefox) alert('Firefox: ' + Sys.firefox);
        if (Sys.chrome) alert('Chrome: ' + Sys.chrome);
        if (Sys.opera) alert('Opera: ' + Sys.opera);
        if (Sys.safari) alert('Safari: ' + Sys.safari);
  
        if (Sys.ie == 6.0){alert("fuck!")}
  
*/
</script>

posted @ 2012-09-03 10:33 鲁胜迪 阅读(438) | 评论 (0)编辑 收藏

Oracle11g 账号锁定及密码有效期问题

 

密码过期,需要更换新密码

     SQL> alter user test identified by [new password];

 

解锁
  SQL> alter user test account unlock;
  User altered.

一般数据库默认是10次尝试失败后锁住用户
  1、查看FAILED_LOGIN_ATTEMPTS的值
  select * from dba_profiles
  2、修改为30次
  alter profile default limit FAILED_LOGIN_ATTEMPTS 30;
  3、修改为无限次(为安全起见,不建议使用)
  alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

设置用户密码永不过期

      1 查看用户概要文件(一般是DEFAULT)

       select * from dba_users where username=test;

      2 查看指定概要文件(如default)的密码有效期设置(默认在default概要文件中设置了 “PASSWORD_LIFE_TIME=180天”):

      SELECT * FROM dba_profiles WHERE profile='DEFAULT' and  resource_name='PASSWORD_LIFE_TIME';

      3 将密码有效期由默认的180天修改成“无限制”:

sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

转载于 http://database.51cto.com/art/201108/280966.htm

posted @ 2012-08-28 10:13 鲁胜迪 阅读(346) | 评论 (0)编辑 收藏

三阶魔方复原步骤

步骤一--完成一层
1、第一层十字,可能出现两种情况,可用以下公式还原
a)R2
b)D'F'RF
2、第一层角
a)D'R'DR
b)R'D'R
步骤二--第二层
a)y'RURURU'R'U'R'U'  五顺五逆
b)R'U'R'U'R'URURU    五逆五顺
步骤三--OLL
1、顶层十字
FRUR'U'F'
2、顶层角块
R'U2RUR'UR
步骤四--PLL
1、顶层角还原
x' R2 U2 R D R' U2 R D' R x
2、顶层棱还原
(RU'R)(URUR)(U'R'U'R2)

posted @ 2012-08-06 14:10 鲁胜迪 阅读(324) | 评论 (0)编辑 收藏

ORACLE JOB间隔时间参考

假设你的存储过程名为PROC_RAIN_JM 
再写一个存储过程名为PROC_JOB_RAIN_JM 
内容是: 
Java代码  收藏代码
  1. Create Or Replace Procedure PROC_JOB_RAIN_JM  
  2. Is  
  3. li_jobno         Number;  
  4.   
  5. Begin  
  6. DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;',SYSDATE,'TRUNC(SYSDATE + 1)');   
  7. End;  

提交job语法: 
Java代码  收藏代码
  1. begin  
  2. sys.dbms_job.submit(job => :job,  
  3.                       what => 'P_CLEAR_PACKBAL;',  
  4.                       next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),  
  5.                       interval => 'sysdate+ 1/360');  
  6. commit;  
  7. end;  

------------------------- 
创建JOB 
Java代码  收藏代码
  1. variable jobno number;  
  2. begin  
  3. dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);  
  4. commit;  

运行JOB 
Java代码  收藏代码
  1. begin  
  2.     dbms_job.run(:job1);  
  3. end;  

删除JOB 
Java代码  收藏代码
  1. begin  
  2.     dbms_job.remove(:job1);  
  3. end;  

DBA_JOBS 
========================================= 
字段(列)          类型                 描述 
JOB                NUMBER          任务的唯一标示号 
LOG_USER           VARCHAR2(30)    提交任务的用户 
PRIV_USER          VARCHAR2(30)    赋予任务权限的用户 
SCHEMA_USER        VARCHAR2(30)    对任务作语法分析的用户模式 
LAST_DATE          DATE            最后一次成功运行任务的时间 
LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小时,分钟和秒 
THIS_DATE     DATE            正在运行任务的开始时间,如果没有运行任务则为null 
THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小时,分钟和秒 
NEXT_DATE          DATE            下一次定时运行任务的时间 
NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小时,分钟和秒 
TOTAL_TIME         NUMBER          该任务运行所需要的总时间,单位为秒 
BROKEN             VARCHAR2(1)     标志参数,Y标示任务中断,以后不会运行 
INTERVAL           VARCHAR2(200)   用于计算下一运行时间的表达式 
FAILURES    NUMBER     任务运行连续没有成功的次数 
WHAT               VARCHAR2(2000) 执行任务的PL/SQL块 
CURRENT_SESSION_LABEL RAW          MLSLABEL 该任务的信任Oracle会话符 
CLEARANCE_HI      RAW MLSLABEL     该任务可信任的Oracle最大间隙 
CLEARANCE_LO      RAW              MLSLABEL 该任务可信任的Oracle最小间隙 
NLS_ENV           VARCHAR2(2000)   任务运行的NLS会话设置 
MISC_ENV          RAW(32)          任务运行的其他一些会话参数 
-------------------------- 
描述                    INTERVAL参数值 
每天午夜12点            'TRUNC(SYSDATE + 1)' 
每天早上8点30分         'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)' 
每星期二中午12点         'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24' 
每个月第一天的午夜12点    'TRUNC(LAST_DAY(SYSDATE ) + 1)' 
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24' 
每星期六和日早上6点10分    'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)' 
-------------------------- 
1:每分钟执行 
Interval => TRUNC(sysdate,'mi') + 1/ (24*60) 
2:每天定时执行 
例如:每天的凌晨1点执行 
Interval => TRUNC(sysdate) + 1 +1/ (24) 
3:每周定时执行 
例如:每周一凌晨1点执行 
Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 
4:每月定时执行 
例如:每月1日凌晨1点执行 
Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 
5:每季度定时执行 
例如每季度的第一天凌晨1点执行 
Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 
6:每半年定时执行 
例如:每年7月1日和1月1日凌晨1点 
Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 
7:每年定时执行 
例如:每年1月1日凌晨1点执行 
Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 

TRUNC()函数分两种 
trunc实际上是truncate函数,字面意思是截断,截尾。 
1.TRUNC(for dates) 
TRUNC函数为指定元素而截去的日期值。截尾后返回最近日期 
其具体的语法格式如下: 
TRUNC(date[,fmt]) 
date 一个日期值 
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 
下面是该函数的使用情况: 
select   trunc(sysdate,'mm')   from   dual=2009-1-1 
 
2.TRUNC(for number) 
TRUNC函数的功能是将数字进行截断,对所截取的结果并不四舍五入。   
其具体的语法格式如下 
TRUNC(number[,decimals]) 
number 待做截取处理的数值 
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分 
下面是该函数的使用情况: 
TRUNC(89.985,2)=89.98 
TRUNC(89.985)=89 
TRUNC(89.985,-1)=80 
  注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。 


转载于 http://virgoooos.iteye.com/blog/342421 

posted @ 2012-05-18 12:24 鲁胜迪 阅读(1302) | 评论 (0)编辑 收藏

轻松解决 Eclipse Indigo 3.7 中文字体偏小,完美 Consolas 微软雅黑混合字体!

Eclipse是著名的跨平台的自由集成开发环境(IDE)。6月22日Eclipse 3.7 正式发布,代号是 Indigo 。

在 Windows 7 下初始后化,发现界面变化不大,但中文字体却面目全非,小得根本看不见,而且也看起来很不爽。其实这是 Eclipse 的默认字体换了,以前的一直是 Courier New ,这次eclipse用的字体是 Consolas ,这是一个很好的编程字体了,无奈就是中文默认太小了。

于是上网找了 Consolas 和微软雅黑混合字体,完美解决了中文字体小的问题,同时保持了Consolas字体的优雅,效果如下图:

是不是比较满意?哈哈,那就赶紧下载这个混合字体吧。

下载地址:
http://files.xiaogui.org/eclipse-indigo/YaHei.Consolas.1.12.rar

下载好后把 YaHei.Consolas.1.12.ttfw 文件复制到 C:\Windows\Fonts 目录下,这样字体就安装完成,

然后打开 eclipse 的 “preferences” , “General” -> “Appearance” -> “Colors and Fonts” ,打开 “basic” ,双击 “Text Font” ,然后选择字体:”YaHei Consolas Hybrid” ,确定即可。

操作可参考下图:

备注:在上图此处选字体的时候,只需在字体框里面输入字母 “Y”, Eclipse 就会智能的跳转至 “YaHei Consolas Hybrid” 字体。

转载于 http://xiaogui.org/eclipse-indigo-3-7-font.html

posted @ 2012-05-16 10:02 鲁胜迪 阅读(311) | 评论 (0)编辑 收藏

三种简单的Tab选项卡效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>简洁Tab</title>
<style type="text/css">
<!--
body,div,ul,li{
 margin:0 auto;
 padding:0;
}
body{
 font:12px "宋体";
 text-align:center;
}
a:link{
 color:#00F;
 text-decoration:none;
}
a:visited {
 color: #00F;
 text-decoration:none;
}
a:hover {
 color: #c00;
 text-decoration:underline;
}
ul{
 list-style:none;
}
.main{
 clear:both;
 padding:8px;
 text-align:center;
}
/*第一种形式*/
#tabs0 {
 height: 200px;
 width: 400px;
 border: 1px solid #cbcbcb;
 background-color: #f2f6fb;
}
.menu0{
 width: 400px;
}
.menu0 li{
 display:block;
 float: left;
 padding: 4px 0;
 width:100px;
 text-align: center;
 cursor:pointer;
 background: #FFFFff;
}
.menu0 li.hover{
 background: #f2f6fb;
}
#main0 ul{
 display: none;
}
#main0 ul.block{
 display: block;
}
/*第二种形式*/
#tabs1{
 text-align:left;
 width:400px;
}
.menu1box{
 position:relative;
 overflow:hidden;
 height:22px;
 width:400px;
 text-align:left;
}
#menu1{
 position:absolute;
 top:0;
 left:0;
 z-index:1;
}
#menu1 li{
 float:left;
 display:block;
 cursor:pointer;
 width:72px;
 text-align:center;
 line-height:21px;
 height:21px;
}
#menu1 li.hover{
 background:#fff;
 border-left:1px solid #333;
 border-top:1px solid #333;
 border-right:1px solid #333;
}
.main1box{
 clear:both;
 margin-top:-1px;
 border:1px solid #333;
 height:181px;
 width:400px;
}
#main1 ul{
 display: none;
}
#main1 ul.block{
 display: block;
}
/*第三种形式*/
.menu2box{
 position:relative;
 overflow:hidden;
 height:22px;
 width:400px;
 text-align:left;
 background: #FFFFff;
}
#tabs2 {
 height: 200px;
 width: 400px;
 border: 1px solid #cbcbcb;
 background-color: #f2f6fb;
}
#tip2{
 position:absolute;
 top:0;
 left:0;
 height:22px;
 line-height:22px;
 z-index:0;
 width:100px;
 background: #f2f6fb;
}
#menu2{
 position:absolute;
 top:0;
 left:0;
 z-index:1;
}
#menu2 li{
 display:block;
 float: left;
 padding: 4px 0;
 width:100px;
 text-align: center;
 cursor:pointer;
}
-->
</style>
<script>
<!--
/*第一种形式 第二种形式 更换显示样式*/
function setTab(m,n){
 var tli=document.getElementById("menu"+m).getElementsByTagName("li");
 var mli=document.getElementById("main"+m).getElementsByTagName("ul");
 for(i=0;i<tli.length;i++){
  tli[i].className=i==n?"hover":"";
  mli[i].style.display=i==n?"block":"none";
 }
}
/*第三种形式 利用一个背景层定位*/
var m3={0:"",1:"评论内容",2:"技术内容",3:"点评内容"}
function nowtab(m,n){
 if(n!=0&&m3[0]=="")m3[0]=document.getElementById("main2").innerHTML;
 document.getElementById("tip"+m).style.left=n*100+'px';
 document.getElementById("main2").innerHTML=m3[n];
}
//-->
</script>
</head>
<body>
<br />
<br />
<!--第一种形式-->
<div id="tabs0">
 <ul class="menu0" id="menu0">
  <li onclick="setTab(0,0)" class="hover">新闻</li>
  <li onclick="setTab(0,1)">评论</li>
  <li onclick="setTab(0,2)">技术</li>
  <li onclick="setTab(0,3)">点评</li>
 </ul>
 <div class="main" id="main0">
  <ul class="block"><li>新闻列表</li></ul>
  <ul><li>评论列表</li></ul>
  <ul><li>技术列表</li></ul>
  <ul><li>点评列表</li></ul>
 </div>
</div>
<br />
<br />
<!--第二种形式-->
<div id="tabs1">
 <div class="menu1box">
  <ul id="menu1">
   <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li>
   <li onmouseover="setTab(1,1)"><a href="#">评论</a></li>
   <li onmouseover="setTab(1,2)"><a href="#">技术</a></li>
   <li onmouseover="setTab(1,3)"><a href="#">点评</a></li>
  </ul>
 </div>
 <div class="main1box">
  <div class="main" id="main1">
   <ul class="block"><li>新闻列表</li></ul>
   <ul><li>评论列表</li></ul>
   <ul><li>技术列表</li></ul>
   <ul><li>点评列表</li></ul>
  </div>
 </div>
</div>
<br />
<br />
<!--第三种形式-->
<div id="tabs2">
 <div class="menu2box">
  <div id="tip2"></div>
  <ul id="menu2">
   <li class="hover" onmouseover="nowtab(2,0)"><a href="#">新闻</a></li>
   <li onmouseover="nowtab(2,1)"><a href="#">评论</a></li>
   <li onmouseover="nowtab(2,2)"><a href="#">技术</a></li>
   <li onmouseover="nowtab(2,3)"><a href="#">点评</a></li>
  </ul>
 </div>
  <div class="main" id="main2">
新闻内容
 </div>
</div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</body>
</html>

posted @ 2012-04-29 21:29 鲁胜迪 阅读(324) | 评论 (0)编辑 收藏

Play Framework 使用Eclipse开发和调试

转换成Eclipse项目

  1. 启动命令行,输入play new <项目名>,Play会在当前路径下创建项目。
  2. 输入play eclipsify <项目名>,Play会在项目目录中创建eclipse需要的配置文件,将其转换成eclipse项目。
  3. 在eclipse中导入创建的项目。

image

 

调试

Play转换eclipse项目时,在eclipse目录中生成了三个启动配置:

  1. JPDA:连接到已经启动的Play Server,实现alive调试
  2. helloworld:本地运行
  3. Test:测试

选中它们,右键执行Run As,即可完成相应的任务。

本地调试

直接Debug As 执行helloworld会报错:

Error occurred during initialization of VM
agent library failed to init: jdwp
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.

需要:

打开helloworld.launch,找到

<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Dplay.debug=yes -Dplay.id= -Dapplication.path  …/>

将-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 去掉。

然后Debug As,即可成功启动调试。附加Play源码后,即可调试Play本身。


转载于 http://www.cnblogs.com/Chaos/archive/2011/04/16/2018444.html

posted @ 2012-03-22 11:54 鲁胜迪 阅读(2146) | 评论 (0)编辑 收藏

win7下用批处理文件进行IP地址切换


假如你的笔记本需要在家里和公司频繁地进行IP地址切换,是不是很烦?而网上大量的切换工具对Win7均无效,怎么办?请不要担心,自己DIY一个批处理文件就行了。

注意,以下是针对IPv4进行的修改。

另外,安装了360可能会有风险提醒,请大家不要担心,放心点击通过,此代码毫无风险,童叟无欺,尽可安全使用。

首先,打开记事本,新建一个"IP切换.txt",内容如下, 最后,把文件名改为"IP切换.bat"就大功告成了。 
@echo off
rem //设置变量本地连接, 根据你的需要更改 
set Nic="本地连接 3" 
rem //可以根据你的需要更改
set Addr=192.168.1.11
set Mask=255.255.255.0
set Gway=192.168.1.1
set Dns=192.168.1.1
set Addr2=10.32.66.34
set Mask2=255.255.255.192
set Gway2=10.32.66.62
set Dns1=202.107.196.144   
set Dns2=202.101.172.46
rem //以上对应分别是IP地址、子网掩码、网关、首选DNS、备用DNS ,自己根据情况修改
rem //家里的DNS和公司一样则可以用以上代码,不一样可能需要稍作修改
echo ↗Design by 鲁胜迪,龙腾虎跃↖
echo ★ 1 设置为公司IP ★ 
echo ★ 2 设置为***综合楼IP★ 
echo ★ 3 设置为动态IP ★ 
echo ★ 4 退出          ★ 
echo ●●●请选择项目回车●●●
set /p answer=   
if %answer%==1 goto 1   
if %answer%==2 goto 2   
if %answer%==3 goto 3   
if %answer%==4 goto 4 
:1   
echo 正在进行静态公司IP 设置,请稍等...   
rem //可以根据你的需要更改   
echo. I P 地址 = %Addr%   
echo. 子网掩码 = %Mask%   
netsh interface ipv4 set address name=%Nic% source=static addr=%Addr% mask=%Mask% gateway=%Gway% gwmetric=0 >nul   
echo. 首选 DNS = %Dns%   
netsh interface ipv4 set dns name=%Nic% source=static addr=%Dns% register=PRIMARY >nul 
echo. 备用 DNS = %Dns%   
netsh interface ipv4 add dns name=%Nic% addr=%Dns% index=2 >nul   
echo ----   
echo 全部设置完成! 
pause   
goto end   
:2 
echo 正在进行静态萧山区政府综合楼IP设置,请稍等...   
rem //可以根据你的需要更改   
echo. I P 地址 = %addr2%   
echo. 子网掩码 = %Mask2%   
netsh interface ipv4 set address name=%Nic% source=static addr=%addr2% mask=%Mask2% gateway=%Gway2% gwmetric=0 >nul   
echo. 首选 DNS = %Dns1%   
netsh interface ipv4 set dns name=%Nic% source=static addr=%Dns1% register=PRIMARY >nul 
echo. 备用 DNS = %Dns2%   
netsh interface ipv4 add dns name=%Nic% addr=%Dns2% index=2 >nul   
echo ----   
echo 全部设置完成! 
pause   
goto end 
:3   
echo 正在进行动态IP设置,请稍等...   
echo. IP 地址正在从DHCP自动获取...   
netsh interface ip set address %Nic% dhcp   
echo. DNS地址正在从DHCP自动获取...   
netsh interface ip set dns %Nic% dhcp   
echo ----   
echo 全部设置完成!   
pause   
:4 
echo bye!   
goto end   
rem pause >null




参考地址 http://hi.baidu.com/coldwindsnow/blog/item/142a0df25b5bdb1eb07ec5a6.html  





posted @ 2012-03-20 16:03 鲁胜迪 阅读(3058) | 评论 (1)编辑 收藏

快速架设基于宽带的服务器

前言:架设基于宽带服务器要解决的几个问题

***第一个问题是:如何解决动态IP地址映射成局域网的静态IP地址

***第二个问题是:如何架设WEB服务器

***第三个问题是:如何架设FTP服务器

  下面就这三个问题,提供如下的解决方案。

一.动态IP地址映射成静态IP地址

  现在联接Internet的宽带用户,方式很多,如有线通、ADSL、 FTTB,但这些方式获得的因特网的IP地址是动态的(当然也可以到电信申请一个固定的IP地址,但这样的月租费特别贵,一个月可能要一千多元,而家庭动态IP用户,月租可能50-100元。当然静态IP用户可以跳过第一个问题)。如果家里有几台电脑,共享上网,设置的IP地址是局域网的IP地址,不能直接路由到因特网,所以必须找一个第三方软件作因特网动态IP地址和局域网的静态IP地址的映射。这方面的软件很多,比较优秀的软件是花生壳。

  下面是花生壳软件的介绍:

   花生壳是一套完全免费的动态域名解析服务客户端软件。当您安装并注册该项服务,无论您在任何地点、任何时间、使用任何线路,均可利用这一服务建立拥有固定域名和最大自主权的互联网主机。“花生壳”支持的线路包括普通电话线、ISDN、ADSL、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实IP的接入服务线路,而无论连接获得的IP属于动态还是静态。

  花生壳3系列版本从2005年4月份发布3.0版本,已有1年多的时间,并完全替代了花生壳1.0和2.x,3.9版将是花生壳3系列的最后一个版本发布,2006年底花生壳将推出全新内核和界面的新版本。

  Oray九月推出疯狂的CN,免费送CN域名,还同时免费赠送橄榄邮局系统。
  活动主题页面:http://www.oray.net/Activity/0609/

  花生壳3.9版新特征描述:
  1、该版本增加了对英文操作系统的完全支持;
  2、去除原有“花生吧”功能,降低前台程序内存占用;
  3、修改了一些界面处理bug;
  4、完善WebService获取信息部分,比以前登陆速度更快;
  5、完善针对中文域名处理部分,对中文域名的支持更加完美;

  Oray于2006年8月1日永久停止花生壳1.0、2.1版客户端服务通告
  https://www.oray.net/News/News_Details.asp?ID=101

  下面介绍具体的操作步骤:

1.下载花生壳客户端:下载地址1  下载地址2

2.安装花生壳,一般直接点“下一步”就可以安装完成(安装过程类似安装QQ软件)。

  花生壳客户端安装后,它会随系统一起启动。在默认设置下,它会启动前台控制和后台服务,并在系统的通知区域显示为一个小盒子,当网络连通且登录到花生壳服务器时,它会是彩色的,我们现在还没连接到花生壳服务器,所以它是灰色的。

3.申请一个网域护照 ( 账户 ),才能连接到花生壳服务器(申请过程类似申请QQ号码)

  登录到 http://www.oray.net/ ,在最左边点击“免费注册oray护照”,或直接在花生壳客户端“状态”选项卡上左键单击“申请网域护照”,进入网域护照的申请网页,在那里签署用户协议、填写护照基本信息、设置密码提示问题后,就会得到一个网域护照。
  如下图所示:

4.在网域申请一个免费的域名。

  登录网域后,点“申请免费域名”,如下图所示:

  在弹出的页面,点“免费域名”,如下图所示:

  在弹出的页面,输入您喜欢的域名,如我的网站jsjzx.xicp.cn,在文本框里面输入jsjzx,再在下面您要的后缀前面打钩,再点“查询域名”,通过查看“搜索结果”,此域名已经被注册,如下图所示:

  重新输入jsjzxnet,选择.xicp.net,再点“查询域名”,可以知道,此域名没有被注册,在“jsjzxnet.xicp.net”前面点一下,再点“注册选定免费域名”,如下图所示:

  在弹出的页面中填入您的真实信息(当然有的私人信息还是保密比较好),如下图所示:

  再点“申请免费域名”,下面弹出的页面步骤和上面一样,如下图所示:

  在弹出的页面,点“确认申请”,如下图所示:

  在弹出的页面,选择“是”,再点“下一步”,如下图所示:

  在弹出的页面中,输入网站的一些信息,然后点“同意以下条款,提交信息”,如下图所示:

  于是,二级免费域名jsjzxnet.xicp.net申请成功,如果WEB服务器设置好后,网友就可以输入http://jsjzxnet.xicp.net访问您的网站了(当然,还要做一些设置才可以,下面会具体介绍),如下图所示:

5.登录花生壳(登录过程类似登录QQ软件)

  用自己申请的护照名和密码,登录花生壳服务器,如下图所示:(友情提示:最好把“自动登录,忘记密码”打上钩,这样系统开机自动就登录,花生壳服务就开启了)

  点“免费域名”,如果能看到“jsjzx.xicp.net”(注意:这是我网站的二级域名,不是用上面的号码登录,而是用的另一个号码登录)就说明服务开启成功,如下图所示:

6.解决局域网的端口映射:

  如果是几台电脑共享上网,必须作端口映射,才可以做服务器(如果是一台电脑,可以跳过这步)。

  打开IE浏览器,输入192.168.1.1,敲回车(注意,不同的ADSL猫,IP地址不同,有的是192.168.1.254,这个IP地址,可以看您的路由器说明书,或者ADSL猫说明书,上面有说明,当然在百度也可以查到),如下图所示:

  在弹出的窗口,输入用户名和密码,一般用户名admin或者root,密码admin或者root(当然可以查看说明书),点“确定”如下图所示:

  在弹出的窗口中,点“转发规则”,在“服务端口”中输入80,在“IP地址”中输入192.168.1.8(这是我电脑的IP地址,您也可以设置其它IP地址),在协议中选择ALL,在启用中“打钩”。按照同样的方法,输入端口号21。如下图所示:

  友情提示:设置80端口,是为了做WEB服务器,输入21端口,是为了做FTP服务器。另外,教大家一招提高BT下载速度的方法,在“服务端口”输入22557,再打开BT软件,点工具栏上的“选项”-“选项”,在弹出的窗口中的“监听端口”输入 22557,再点“确定”就可以了。另外,根据我的经验,在“全局最大上传速率”设置成30kB/s,下载速度最快,当然您也可以根据自己的网络去设置成一个合理的值。

  

 

二.架设WEB服务器

  关于WEB服务器的更多详细信息见计算机网络实验三。下面只介绍我自己电脑作WEB服务器的设置。

  做WEB服务器,可以用IIS,它比较简单和方便,但它有人数限制,好象同一时刻只能连接100人,所以推荐大家用 Apache。

1.下载 Apache:下载地址

2.安装Apache:基本上点“下一步”就可以。

  安装好后,测试一下按默认配置运行的网站界面,在 IE 地址栏打 “http://127.0.0.1” ,点 “ 转到 ” ,如果出现配置成功,表示 Apache 服务器已安装成功。

  友情提示:如果 IIS 打开了,要停止它(开始-控制面板-管理工具-服务-IIS Admin禁止),否则 apache 不能启动!

3.设置Apache:

  “ 开始 ”- “ 所有程序 ”- “Apache HTTP Server 2.0.55”- “Configure Apache Server”- “Edit the Apache httpd conf Configuration file” ,点击打开。

  友情提示:每次配置文件的改变,保存后, 必须在 Apache 服务器重启动后生效 ,可以用前面讲的小图标方便的控制服务器随时 “ 重启动 ” 。

  查找关键字 “DocumentRoot” (也就是网站根目录),找到如下图所示地方,然后将 "" 内的地址改成你的网站根目录,地址格式请照图上的写 ,主要是一般文件地址的 “\” 在 Apache 里要改成 “/” 。 比如我的网站就是: DocumentRoot "f:/web" 。

  查找 “<Directory” 来定位,将 "" 内的地址改成跟 DocumentRoot 的一样。 比如我的网站: <Directory "f:/web"> 。

  查找“DirectoryIndex” (目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是 index.htm ,就在光标那里加上 “index.htm ” 文件名是任意的,不一定非得 “index.html” ,比如 “test.php” 等,都可以。 比如我的网站: DirectoryIndex index.html 。

  好了,简单的 Apache 配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开 80 或 8080 端口,或者允许 Apache 程序访问网络,否则别人不能访问。然后告诉您朋友二级域名,他们就可以访问了,如我网站的新服务器地址:http://jsjzx.xicp.net

三.架设FTP服务器

  关于FTP服务器的更多详细信息见计算机网络实验四。下面只介绍我自己电脑作FTP服务器的设置。

  做FTP服务器,可以用IIS,它比较简单,但管理不方便,所以推荐大家用 serv-u 。

1.下载 serv-u:下载地址

2.安装 serv-u:基本上点下一步就可以了。

3.配置serv-u:具体操作步骤点这里

  通过这三步设置,您的电脑就可以作FTP服务器和WEB服务器了,如果有任何问题和建议,请与站长QQ317154001联系。

转载于 http://cs.ecust.edu.cn/snwei/studypc/networks/server.htm

posted @ 2012-02-17 14:57 鲁胜迪 阅读(1757) | 评论 (1)编辑 收藏

win7 x64 安装oracle10g x64 和 PL/SQL Developer 8.02

一、oracle10g安装,比较简单

    1.去Oracle网站下载Vista版的Oracle:Oracle Database 10g Release 2 (10.2.0.4) for Microsoft Windows Vista x64 and Microsoft Windows Server 2008 x64

    2.解压下载的安装文件10204_vista_w2k8_x64_production_db.zip

    3.修改验证文件来支持windows7

        修改\stage\prereq\db\refhost.xml

            加入<!--Microsoft Windows 7-->
                    <OPERATING_SYSTEM>
                          <VERSION VALUE="6.1"/>
                    </OPERATING_SYSTEM>

 

        修改\install\oraparam.ini,加入6.1,Windows=5.0,5.1,5.2,6.0,6.1

    4.如果网卡IP是动态分配的,安装时会有警告,可以忽略,如果觉得不舒服解决方法如下:

        添加Microsoft Loopback Adapter
         打开“设备管理器”右键单击设备管理器窗口的计算机名->添加过时硬件->
         安装我手动从列表选择的硬件->选择“网络适配器”->
         选择Microsoft公司下的Microsoft Loopback Adapter,就完成了添加。
         修改为固定IP,随意设置,如192.168.1.6

    5.顺利安装

 

二、PL/SQL Developer 安装

    1.下载安装

        http://allroundautomations.swmirror.com/plsqldev802.exe

        注册码自己搜,很多有注册机

        注意:不要安装在默认的C:\Program Files (x86)目录下,否则会报错,原因是不能解析这个带()的路径

    2.启动PL/SQL Developer 报以下错误

 



 

 

    原因是oci.dll是64位的,32位应用程序PLSQL Developer无法加载,在网上搜了搜解决方法:可以装个32位的Oracle Client来解决,Client的功能我一般用不到,太大了不想装。后来参考了这篇文章免安装Oracle客户端软件-使用pl/sql配置登陆

    3.下载Oracle Client Package http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

     我下载的是下载instantclient-basic-win32-10.2.0.4.zip。

    4.解压到C:\oracle_client下,oci所在目录为C:\oracle_client\instantclient_10_2。

    5.启动PL/SQL Developer ,点击取消不要登录,在Tools\Perferences 下的Connection 配置Oracle_Home和OCI Library,如下

 



 

        OracleHome:OraDb10g_home1

        OCI library:C:\oracle_client\instantclient_10_2\oci.dll

    6.设置系统环境变量

        TNS_ADMIN=C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN

        NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

        注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8

    7.启动PL/SQL Developer ,OK没问题了。


转载于 http://wlwolf.iteye.com/blog/618950

posted @ 2012-02-10 10:20 鲁胜迪 阅读(269) | 评论 (0)编辑 收藏

Myeclipse10下载,安装,破解,插件,优化介绍

一.Myeclipse10下载与破解

Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本。MyEclipse 10基于Eclipse Indigo构建,为Java和JavaEE项目提供了Maven3的支持。本次发布的版本中还加入了对JaveEE 6、HTML5、JPA2和JSF 2的支持。版本号10是为了庆祝即将到来的Eclipse的10周年诞辰(MyEclipse的首次发布是在8年前)。

我现在用的还是6.5的版本,6.5的版本是我觉得最好用的一个版本。 我装上了,还没感受到有哪些好用,就是感觉体积庞大,和IBM 的WID一样,是个多面手,啥事都能干,其实经常能使用的也就其中那么几个功能,要是能像插件一样,即插即用就好了。 

MyEclipse 10使用最高级的桌面和Web开发技术,包括 HTML5 和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1 以及 OpenJPA 2.0. 而对 IBM WebSphere 用户来说,MyEclipse Blue 支持最新版本的 WebSphere Portal Server 7.0、WebSphere 8 以及以前的版本,无缝的支持 IBM DB2 数据库 。 MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开元产品的专属eclipse开发工 具。

以下是下载与破解链接(右击迅雷下载):

Myeclipse10 正式下载

Myeclipse10 Bule版下载

Myeclipse9/10破解包(内附详细破解步骤)

另附Myeclipse8/9/10 Verycd下载出处:Myeclipse_Verycd下载

二.Myeclipse10修改字体

MyEclipse10 是基于Eclipse3.7内核,但在Eclipse的Preferences-〉general-〉Appearance->Colors and Fonts 中并没有找到Courier New字体,它采用的是Consolas字体,中文看着非常小非常别扭,在Windows7下,系统自带虽然有Courier New字体,但是并没有激活显示,需要手动激活,才能在软件中使用

激活方法如下:
在win7的控制面板->字体,找到Courier New,右键,显示。然后在eclipse的fonts列表中就可以选择了。上两张图


三.Myeclipse10插件安装

说到插件,myeclipse自8.X开始,插件安装就变得巨难用,通常最好还是用离线安装,在线安装很可能出问题,下面仅以SVN安装为例,其他诸如ADT15,Aptana等都可采用

1.首先下载SVN包:svn-1.6
2.解压SVN包,然后找到其中的两个文件夹:features 和 plugins
3.随意建一个文件夹(位置和名称自己定就好了,我的是E:\myEclipsePlugin\svn),然后把第二步的解压好的features 和 plugins放到这个文件夹下
4.找到myeclipse的安装目录,下面有一个configuration\org.eclipse.equinox.simpleconfigurator\bundles.info 文件。现在需要做的就是在该文件内添加的东西
5.添加的内容用下面的类生成:

  1. <span style="font-size:13px;">import java.io.File;     
  2. import java.util.ArrayList;     
  3. import java.util.List;     
  4. /**   
  5.  * MyEclipse9 插件配置代码生成器   
  6.  *   
  7.  *   
  8.  */    
  9. public class PluginConfigCreator     
  10. {     
  11.     public PluginConfigCreator()     
  12.     {     
  13.     }     
  14.     public void print(String path)     
  15.     {     
  16.         List<String> list = getFileList(path);     
  17.         if (list == null)     
  18.         {     
  19.             return;     
  20.         }     
  21.         int length = list.size();     
  22.         for (int i = 0; i < length; i++)     
  23.         {     
  24.             String result = "";     
  25.             String thePath = getFormatPath(getString(list.get(i)));     
  26.             File file = new File(thePath);     
  27.             if (file.isDirectory())     
  28.             {     
  29.                 String fileName = file.getName();     
  30.                 if (fileName.indexOf("_") < 0)     
  31.                 {     
  32.                     print(thePath);     
  33.                     continue;     
  34.                 }     
  35.                 String[] filenames = fileName.split("_");     
  36.                 String filename1 = filenames[0];     
  37.                 String filename2 = filenames[1];     
  38.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"    
  39.                         + fileName + "\\,4,false";     
  40.                 System.out.println(result);     
  41.             } else if (file.isFile())     
  42.             {     
  43.                 String fileName = file.getName();     
  44.                 if (fileName.indexOf("_") < 0)     
  45.                 {     
  46.                     continue;     
  47.                 }     
  48.                 int last = fileName.lastIndexOf("_");// 最后一个下划线的位置     
  49.                 String filename1 = fileName.substring(0, last);     
  50.                 String filename2 = fileName.substring(last + 1, fileName     
  51.                         .length() - 4);     
  52.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"    
  53.                         + fileName + ",4,false";     
  54.                 System.out.println(result);     
  55.             }     
  56.         }     
  57.     }     
  58.     public List<String> getFileList(String path)     
  59.     {     
  60.         path = getFormatPath(path);     
  61.         path = path + "/";     
  62.         File filePath = new File(path);     
  63.         if (!filePath.isDirectory())     
  64.         {     
  65.             return null;     
  66.         }     
  67.         String[] filelist = filePath.list();     
  68.         List<String> filelistFilter = new ArrayList<String>();     
  69.         for (int i = 0; i < filelist.length; i++)     
  70.         {     
  71.             String tempfilename = getFormatPath(path + filelist[i]);     
  72.             filelistFilter.add(tempfilename);     
  73.         }     
  74.         return filelistFilter;     
  75.     }     
  76.     public String getString(Object object)     
  77.     {     
  78.         if (object == null)     
  79.         {     
  80.             return "";     
  81.         }     
  82.         return String.valueOf(object);     
  83.     }     
  84.     public String getFormatPath(String path)     
  85.     {     
  86.         path = path.replaceAll("\\\\", "/");     
  87.         path = path.replaceAll("//", "/");     
  88.         return path;     
  89.     }     
  90.     public static void main(String[] args)     
  91.     {     
  92.         /*你的SVN的features 和 plugins复制后放的目录*/    
  93.             String plugin = "E:/myEclipsePlugin/svn/";     
  94.         new PluginConfigCreator().print(plugin);     
  95.     }     
  96. }  </span>  
6.把以上生成的字符串(一大堆)添加到第四步bundles.info文件的后面,然后重启myeclipse即可。


此外Adobe Flash Builder 4.6也完美支持Myeclipse10,只是插件在安装的时候不是采用以上方式,根据官方英文文档说明,

首先要将Adobe Flash Builder 4.6安装完成,

然后进安装目录~\Adobe\Adobe Flash Builder 4.6\utilities运行Adobe Flash Builder 4.6 Plug-in Utility.exe,

最后根据安装向导设置插件安装到myeclipse10的目录~\Genuitec\MyEclipse 10,必须确保该目录下包含dropins文件

如此即可完成最新的Adobe Flash Builder 4.6插件的安装,最后启动myeclipse10,界面也随之变成中文,但有时候也会有出问题,此时进入到~\Genuitec\MyEclipse 10\Uninstall Adobe Flash Builder 4.6 Plug-in目录,运行Uninstall Adobe Flash Builder 4.6 Plug-in.exe卸载插件,重新安装,第二次必定成功,myeclipse10对插件的兼容性没有eclipse的好,千万不可尝试按 eclipse的配置去暴力修改里面的参数,否则极有可能再也起不来了!


四.Myeclipse10优化

最后谈谈如何优化Myeclipse10

1、window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven,将Maven JDK改为电脑上安装的JDK,即不使用myeclipse提高的JDK
登记add按钮,选择你的电脑上的JDK即可(注意:不是JRE,我的值为:Java6.014)

2、window-preferences-MyEclipse Enterprise Workbench-Matisse4Myeclipse/Swing,将Design-time information(dt.jar) location 改用电脑安装的JDK的dt.jar
(即不使用myeclipse提供的dt.jar,我的值为:C:\Java6.014\lib\dt.jar)

经过以上的优化,myeclipse的启动时间可以减少2/3,Tomcat的启动速度可以减少1/2(视具体情况而定)

第一步: 取消自动validation
validation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下!

取消方法:
windows–>perferences–>myeclipse–>validation
除开Manual下面的复选框全部选中之外,其他全部不选
手工验证方法:
在要验证的文件上,单击鼠标右键–>myeclipse–>run validation

 

第二步:取消Eclipse拼写检查
1、拼写检查会给我们带来不少的麻烦,我们的方法命名都会是单词的缩写,他也会提示有错,所以最好去掉,没有多大的用处

windows–>perferences–>general–>validation->editors->Text Editors->spelling

 

第三步:取消myeclipse的启动项
myeclipse会有很多的启动项,而其中很多我们都用不着,或者只用一两个,取消前面不用的就可以

windows–>perferences–>general–>startup and shutdown  (详见底端介绍)

 

第四步:更改jsp默认打开的方式
安装了myeclipse后,编辑jsp页面,会打开他的编辑页面,同时也有预览页面,速度很慢,不适合开发。所以更改之windows–>perferences–>general–>editors->file associations

在下方选择一种编辑器,然后点击左边的default按钮

 

第五步:更改代码提示快捷键(不建议使用增强提示,使用Ctrl+/在自己需要的时候提示更佳)

现在的代码提示快捷键,默认为ctrl+space,而我们输入法切换也是,所以会有冲突。谁叫myeclipse是外国人做的呢。。根本不需要切换输入法.

windows–>perferences–>general–>Keys

更改 content assist 为 alt+/

同时由于alt+/已经被word completion占用,所以得同时修改word completion的快捷键值

好了,现在的速度及方便性是不是提高了。

 

第六步: 更改内存使用文件

1、打开 myeclipse.ini

  1. -vmargs  
  2. -Xms256m  
  3. -Xmx1024m     
  4. -XX:PermSize=128M  
  5. -XX:MaxPermSize=256M  
把下面的那个 -XX:MaxPermSize 调大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 调成跟 -XX:MaxPermSize一样大
原因:大家一定对这个画面很熟悉吧:

几乎每次 eclipse 卡到当都是因为这个非堆内存不足造成的,把最大跟最小调成一样是因为不让 myeclipse 频繁的换内存区域大小

注意:XX:MaxPermSize 和 Xmx 的大小之和不能超过你的电脑内存大小

以下是有关内存的一些知识扩展:

1.堆(Heap)和非堆(Non-heap)内存
按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。
2.堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。
3.非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
4.JVM内存限制(最大值)
首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间 有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G- 3G),而64bit以上的处理器就不会有限制了。
举例说明含义:
-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。
说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。
PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-XX:PermSize=64MB 最小尺寸,初始分配 
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space
MaxPermSize缺省值和-server -client选项相关。-server选项下默认MaxPermSize为64m  -client选项下默认MaxPermSize为32m
PS:不同厂家的jdk垃圾回收算法不一样。在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率。


第七步: 修改Struts-config.xml文件打开错误

有时点击myeclipse里的struts的xml配置文件,会报错:

Error opening the editorUnable to open the editor ,unknow the editor id…..

把这个窗口关闭后才出正确的xml文件显示,这个我们这样改:

windows–>perferences–>general–>editors->file associations选择*.xml,选择myeclipse xml editor点default,ok

 

第八步: 取消自动验证,该成手动验证

windows-->perferences-->myeclipse-->validation

将Build下全部勾取消,保留Manual(手动) 如果你需要验证某个文件的时候,我们可以单独去验证它。方法是,在需要验证的文件上( 右键 -> MyEclipse -> Run Validation   

 

第九步: 取消Maven更新(启动更新)

Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven> 禁用Download repository index updates on startup







到此有关Myeclipse10的体验介绍完毕,欢迎大家拍砖,转载请注明出处!


转载于 Myeclipse10下载,安装,破解,插件,优化介绍(CSDN首发)  http://blog.csdn.net/shimiso/article/details/7061000

posted @ 2011-12-14 15:23 鲁胜迪 阅读(15780) | 评论 (5)编辑 收藏

复选框选择数据后形成sql语句到后台执行

前台组合一个sql语句到后台执行,效率是不是更高一点?我写过一个取id到后台删除的例子。
后台操作
Sql="delete from YourTable where" + Request("myParam")


<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="javascript">
<!--
    function look(){
    if(typeof(document.form.chkItem)=="undefined") return;//如果检索的记录为一个则不能成为数组
    var strTemp="( id= "
    var sqlTemp="( id=0"
    var mynum=0;
    if (typeof(document.form.chkItem[0]) == "undefined"){//如果为一个的话,把这个的值赋予myParam
        if(document.form.chkItem.checked){
           sqlTemp=strTemp+document.form.chkItem.value;
           mynum++;
        }
    }
    else for (i = 0; i <document.form.chkItem.length; i++){//循环取数组的值,构造一个合法的sql语句
         if (document.form.chkItem[i].checked){
             var idTemp=document.form.chkItem[i].value;
             strTemp=strTemp+idTemp;
             sqlTemp=strTemp;
             strTemp=strTemp+" OR  id = "
             mynum++;
          }
    }
    sqlTemp+=" )";
    document.form.myParam.value=sqlTemp;//得到所有(chkItem)的值
}

function chkAll_onClick(){
if(typeof(document.form.chkItem)=="undefined") return;//如果是一个的话不能成为数组
if (typeof(document.form.chkItem[0]) == "undefined")
    document.form.chkItem.checked = document.form.chkAll.checked;//如果全选被选中的话,选项也被选中(单一情况)
else
    for (i = 0; i <document.form.chkItem.length; i++)//如果全选被选中的话,选项也被选中(多个情况)
        document.form.chkItem[i].checked = document.form.chkAll.checked
    return;
}

//-->
</SCRIPT>
</HEAD>
<BODY>
<form action="" method=post name=form>
<INPUT id=chkAll onclick=chkAll_onClick(); type=checkbox value=ALL>全选
<SCRIPT LANGUAGE="javascript">
<!--
    for(i=1;i<=5;i++)
    {
        document.write("<input type=checkbox name=chkItem value=选项"+i+">选项"+i+"");
            }
//-->
</SCRIPT><BR>
<input type=text value="" size=80 name=myParam><BR>
<input type=button value=" 看看 " onclick=look()>
</form>
</BODY>
</HTML>

posted @ 2011-12-13 18:08 鲁胜迪 阅读(772) | 评论 (0)编辑 收藏

jrebel在myeclipse中的整合与配置

jrebel在myeclipse中的整合与配置
http://zeroturnaround.com/jrebel/using-jrebel-with-myeclipse/?utm_source=jrebelDLpage&utm_medium=idepluginlink&utm_campaign=IDE%252Bplugin

posted @ 2011-12-04 18:13 鲁胜迪 阅读(1794) | 评论 (0)编辑 收藏

sql 2000简体中文企业版下载(含SP3 SP4 下载地址)

sql 2000简体中文企业版下载

最近我在网上查资料,无意中发现了这个SQL的下载地址,可是Microsoft的官方下载点,绝对正宗,绝对安全.
http://download.microsoft.com/download/sqlsvr2000/trial/2000/nt45/cn/sqleval.exe
比如把下载来的sqleval.exe装到C盘的sqleval文件夹装完后回到该文件夹执行里面的autorun.exe就可以进行SQL2000安装

SP3补丁:http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe

SP4 下载地址 :
http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=zh-cn
MS SQL2000企业版的运行环境,推荐是在WIN2000 Server下运行,企业版的最好不要WIN2000PF(专业版),因为WIN2000的专业版本和MS SQL2000企业版的兼容性不是很好,在运行时容易出错!操作系统和MS SQL2000的安装都是很重要的,因为它们是服务器运行的平台,只有把平台修建好了,服务器才能稳定的工作。

Microsoft SQL Server 2000 Service Pack 4

概述


更新信息:Microsoft 在 SP4 的最终内部版本中发现了一个问题,如果用户在运行 SQL Server 时启用了 AWE 支持功能,就会受到该问题的影响。此问题对 ia64 平台没有影响。在 x86 和 x64 系统上,该问题只会影响符合以下条件的用户:已经启用 AWE 并占用了超出 2 GB 的内存(仅适用于 Enterprise、Developer 和 Evaluation 版本);系统的一大半总内存分配给单个 SQL Server 实例。具有此配置的用户应在升级到 SP4 之后获取并应用 Microsoft 知识库的文章 899761 中指定的修补程序。


SP4 是一个累积的 Service Pack,包含以前各 Service Pack 版本中的所有修补程序,其中包括 MS03-031 安全公告


SP4 包含以下 SQL Server 2000 组件的程序包:
  • 数据库组件(67.1MB)(下载文件:SQL2000-KB884525-SP4-x86.EXE
    更新 SQL Server 2000 的 32 位数据库组件,包括数据库引擎、复制、客户端连接组件和工具。有关其他信息,请参阅 ReadmeSql2k32Sp4.htm
  • Analysis Services 组件(44.6 MB)(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE):
    更新 SQL Server 2000 的 32 位 Analysis Services 组件。有关其他信息,请参阅 ReadmeSql2k32ASp4.htm
  • SQL Server 2000 Desktop Engine (MSDE) 组件(80.2 MB)(下载文件:SQL2000.MSDE-KB884525-SP4-x86.EXE):
    对于 SQL Server 2000 的 32 位 MSDE 组件:
    • 安装 MSDE 的新实例
    • 升级 MSDE 的现有实例
    • 更新已使用合并模块的应用程序
    有关其他信息,请参阅 ReadmeSql2k32DeskSp4.htm
  • SQL Server 2000 64 位组件(下载文件:SQL2000-KB884525-SP4-ia64.EXE):
    更新 SQL Server 2000 的 64 位数据库组件和 64 位 Analysis Services 组件。有关其他信息,请参阅 ReadmeSql2k64Sp4.htm


来自: http://hi.baidu.com/yylmf/blog/item/1574a1505a6f416584352465.html

posted @ 2011-06-30 18:12 鲁胜迪 阅读(9750) | 评论 (3)编辑 收藏

oracle10g 在windows7上的安装方法

(系统版本 Windows 7 旗舰版)Windows 7真是让人又爱又恨啊!本人电脑之前已安装 SQL Server 2005,安装过程都没什么问题,很快搞定,可是装一个Oracle 10g却花了我一个晚上的时间!不过总算安装成功了!虽然还没有正式开始使用,但是兴奋之余迫不及待要和大家分享一下经验!

首先要下载支持Vista版本的Oracle 10g(以下链接地址在浏览器中打开没用,复制下面地址然后在迅雷中新建下载任务即可下载),下载完成后解压出来:http://download.oracle.com/otn/nt/oracle10g/10203/10203_vista_w2k8_x86_production_db.zip

网上搜索了一些资料,安装的第一步就是要修改安装文件目录中的两个refhost.xml文件,分别在目录db\Disk1\stage \prereq\db和\db\Disk1\stage\prereq\db_prereqs\db下。右键记事本打开对其进行编辑,找到如下代码段:

<!--Microsoft Windows vista-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.0"/>
</OPERATING_SYSTEM>
在其后增加:
<!--Microsoft Windows 7->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>

原理:Oracle 至今没有推出针对windows7的版本,在安装的版本检测时提示目前oracle不支持version为6.1的windows OS系统。从oracle官方下载oracle 10g for vista and windows2K8 x86版for windows是支持vista内核的,windows7的内核与2008以及vista的内核大致上是差不多的,经过以上修改可以绕过Oracle对系 统版本的检查而正常安装!

取消Windows 7的UAC权限保护,方法为在开始菜单运行:msconfig,找到“工具”标签,选中UAC相关条目,点击“运行”,然后将级别调为最低。(这步来自网上,本人不知道有没有必要)

设置文件夹db\Disk1\install\oui.exe兼容模式,方法为:选中文件点击右键,点“属性”,将兼容模式设为Vista SP2。

重新启动安装程序,一切按常安装走就可以了。

前期安装失败的一些问题,问题如下:

(1)正在检查网络配置需求...
检查完成。此次检查的总体结果为: 失败 <<<<
问题: 安装检测到系统的主 IP 地址是 DHCP 分配的地址。
建议案: Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装。但在安装之前, 必须将 Microsoft LoopBack Adapter 配置为系统的主网络适配器。有关在配置有 DHCP 的系统上安装软件的详细信息, 请参阅 Installation Guide。

解决方案:发现在检查配置环境的时候这项停滞不前,如果你点选“用户已验证”继续安装的话在安装后期会出现“无法确定主机的IP地址时产生该异常错误”, (本机网络此时设置自动获得IP地址)Oracle在用Net Configuraton配置网络服务名时需要取系统的IP地址,而如果解析IP地址错误就会出现上述异常,后期电脑安装也会停滞在这一步,只有解决才能 继续安装。 解决办法:控制面板->添加硬件->是,我也经连接了此硬件->添加新硬件设备->安装我手动列表选择硬件(高 级)->网络适配器->厂商:Microsoft 网卡:Microsoft Loopback Adapter 。不过不好意思:这个是XP里面的设置方法,Windows 7里面的设置方法稍微复杂一点,方法为:“控制面板\所有控制面板项->设备管理器->网络适配器”然后选择菜单栏的“操作->添加过 时硬件”点下一步选择“安装我手动从列表选择的硬件高级(M)”,点下一步滑动滚轮选择“网络适配器”下一步,在“厂商”那里选择 “Microsoft”,“网络适配器”那里选择“ Microsoft LoopBack Adapter ”一直下一步直到安装完成。然后回到桌面,右键“网络”->属性,你会发现两个“本地连接”,点击在你刚刚新建的那个本地连接点“属性”,双击 “Internet 协议版本4(TCP/IPv4)”然后随便设置一个IP地址就OK了。回到安装程序点击重试(电脑反应不过来的话可能要多点击两次),就可以继续安装了。

(2)正在检查 Oracle 主目录路径中的空格...

检查完成。此次检查的总体结果为: 失败 <<<<
问题: 所指定的 Oracle 主目录的路径中包含空格 ( )。
解决方案: 必须选择不包含任何空格的 Oracle 主目录路径。

(我尝试在Windows 7上安装Oracle 11g时也会出现上述问题)

如果你之前安装Oracle 10g失败,那么再次安装时一定要将之前的Oracle 10g卸载干净,具体的卸载方法如下:

1、控制面板\所有控制面板项\管理工具\服务 停滞所有Oracle的服务项

2、开始->所有程序->Oracle - OraDb10g_home1->Oracle Installation Products->Universal Installer   点击“卸载产品”,让后将你之前所安装的组件选择删除

3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口  

5、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标  

6、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录.

7、手动删除你之前的Oracle安装主路径的目录。在做完这些工作之后电脑最好重启一下。

posted @ 2011-06-11 10:24 鲁胜迪 阅读(769) | 评论 (0)编辑 收藏

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决

近日在配置Oracle 10G的流复制环境时,遇到一个问题,关闭数据库(shutdown immediate)后,通过SQL Plus连接数据库:conn sys/his@orc0 as sysdba,出现如下错误:

    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。

    开始以为是系统环境变量Oracle_SID的配置问题,因为机器有多个实例,一阵折腾后还是不能连接。后来查资料得知:

    Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。

如果在listener.ora文件中指定监听的实例名,则即使数据库处于关闭状态,仍然可以连接。

listener.ora

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

    )

   (SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)  

    (SID_NAME = ORCL)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))

    )

  )

 

以上粗体部件为增加的内容,修改后重启监听服务后即可。

附:通过在lsnrctl中输入set display verbose,然后再通过命令service查看,服务状态为READY表示PMON自动注册的服务名,而UNKNOWN则表示该服务是手工在LISTENER.ORA中配置的数据库服务。


转载于 http://www.cnblogs.com/zyk/archive/2007/10/31/944667.html

posted @ 2010-12-10 11:35 鲁胜迪 阅读(680) | 评论 (0)编辑 收藏

c语言 基础知识

  1、局部变量能否和全局变量重名?

  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"。
  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

  2、如何引用一个已经定义过的全局变量?

  答:使用extern关键字
  可以使用引用头文件的方式,也可以使用extern关键字。如果用引用头文件方式来引用某个在头文件中声明的全局变量,假定你将那个变量写错了,那么在编译期间会报错。如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

  3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

  答:可以,在不同的C文件中以static形式来声明同名全局变量。
  可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

  4、语句for( ;1 ;)有什么问题?它是什么意思?

  答:和while(1)相同。

  5、do……while和while……do有什么区别?

  答:前一个循环一遍再判断,后一个判断以后再循环。

  6、请写出下列代码的输出内容
  #include<stdio.h>                                            
  main()                                                                
  {                                                                        
   int a,b,c,d;                                                     
   a=10;                                                             
   b=a++;                                                           
   c=++a;                                                          
   d=10*a++;                                                     
   printf("b,c,d:%d,%d,%d",b,c,d;  
   return 0;                                                        
  }
                                                                          

  答:10,12,120

  7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

    答:static全局变量的作用域局限于一个源文件内,而非static全局变量的作用域是整个源程序。

       static全局变量只初始化一次,防止在其他文件单元中被引用;
      static局部变量只初始化一次,下一次依据上一次结果值;
        static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。

       8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于()中。

  9、设有以下说明和定义:

  typedef union {long i; int k[5]; char c;} DATE;
  struct data { int cat; DATE cow; double dog;} too;
  DATE max;

  则语句 printf("%d",sizeof(struct date)+sizeof(max)); 的执行结果是52

  答:DATE是一个union,变量公用空间。里面最大的变量类型是int[5],占用20个字节。所以它的大小是20。data是一个struct,每个变量分开占用空间。依次为:int4 + DATE20 + double8 = 32。
所以结果是:20 + 32 = 52。(此处假设为32位编辑器)

  10、队列和栈有什么区别?
  
  答:队列先进先出,栈后进先出。

  11、写出下列代码的输出内容

  #include<stdio.h>
  int inc(int a)
  {
   return(++a);
  }
  int multi(int*a,int*b,int*c)
  {
   return(*c=*a**b);
  }
  typedef int(FUNC1) (int in);
  typedef int(FUNC2) (int*,int*,int*);

  void show(FUNC2 fun,int arg1, int*arg2)
  {
   INCp=&inc;
   int temp =p(arg1);
   fun(&temp,&arg1, arg2);
   printf("%d\n",*arg2);
  }

  main()
  {
   int a;
   show(multi,10,&a);
   return 0;
  }

  答:110

  12、请找出下面代码中的所以错误。

  说明:以下代码是把一个字符串倒序,如"abcd"倒序后变为"dcba"。

  1、#include"string.h"
  2、main()
  3、{
  4、 char*src="hello,world";
  5、 char* dest=NULL;
  6、 int len=strlen(src);
  7、 dest=(char*)malloc(len);
  8、 char* d=dest;
  9、 char* s=src[len];
  10、 while(len--!=0)
  11、 d++=s--;
  12、 printf("%s",dest);
  13、 return 0;
  14、}

  答:

  方法1:

  int main()
  {
   char* src = "hello,world";
   int len = strlen(src);
   char* dest = (char*)malloc(len+1);//要为\0分配一个空间
   char* d = dest;
   char* s = &src[len-1];//指向最后一个字符
   while( len-- != 0 )
   *d++=*s--;
   *d = 0;//尾部要加\0
   printf("%s\n",dest);
   free(dest);// 使用完,应当释放空间,以免造成内存泄露
   return 0;
  }
方法2:

  #i nclude <stdio.h>
  #i nclude <string.h>
  main()
  {
   char str[]="hello,world";
   int len=strlen(str);
   char t;
   for(int i=0; i<len/2; i++)
   {
    t=str[i]; str[i]=str[len-i-1]; str[len-i-1]=t;
   }
   printf("%s",str);
   return 0;
  }

  1、-1,2,7,28, ,126请问28和126中间那个数是什么?为什么?

  第一题的答案应该是4^3-1=63

  规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)

  答案:63

  2、用两个栈实现一个队列的功能?要求给出算法和思路!

  设2个空栈A和B。

  入队:将新元素push入栈A;

  出队:
  (1)判断栈B是否为空;
  (2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;
  (3)将栈B的栈顶元素pop出。

      3、在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么?

  函数名: atol
  功 能: 把字符串转换成长整型数
  用 法: long atol(const char *nptr);
  程序例:
  #include <stdlib.h>
  #include <stdio.h>
  int main(void)
  {
   long l;
   char *str = "98765432";
   l = atol(str);
   printf("string = %s;integer = %ld\n", str, l);
   return(0);
  }

  13、对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

  答:c用宏定义,c++用inline。

  14、直接链接两个信令点的一组链路称作什么?

  答:PPP点到点连接。

       15、接入网用的是什么接口?

     答:V5接口。
  16、voip都用了哪些协议?

       答:H.323协议簇、SIP协议、Skype协议、H.248和MGCP协议。

  17、软件测试都有哪些种类?

  答:黑盒:针对系统功能的测试;白盒:测试函数功能和各函数接口。

  18、确定模块的功能和模块的接口是在软件设计的哪个阶段完成的?

  答:概要设计阶段。

  19、程序:
  unsigned char *p1;
  unsigned long *p2;
  p1=(unsigned char *)0x801000;
  p2=(unsigned long *)0x810000;

  请问p1+5=   ;p2+5=   。

答案:0x801005(相当于加上5位);0x810014(相当于加上20位)。

    
  20、请问下面程序有什么错误?
  
  int a[60][250][1000],i,j,k;
  for(k=0;k<=1000;k++)
  for(j=0;j<250;j++)
  for(i=0;i<60;i++)
  a[i][j][k]=0;

  答:应把循环语句内外换一下。

  21、请问下面程序有什么错误?
  #define Max_CB 500
  void LmiQueryCSmd(Struct MSgCB * pmsg)
  {
   unsigned char ucCmdNum;
   ......
       for(ucCmdNum=0;ucCmdNum<Max_CB;ucCmdNum++)
   {
    ......;
   }

  答:死循环。
  
  22、IP Phone的原理是什么?
  答:IP电话(又称VoIP)是建立在IP技术上的分组化、数字化的传输技术。其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送语音的目的。
  
  23、TCP/IP通信建立的过程怎样,端口有什么作用?

  答:三次握手,确定是哪个应用程序使用该协议。
  
  24、1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?

答:1号信令速度慢,但是稳定和可靠。而7号信令的特点是:信令速度快,具有提供大量信令的潜力,具有改变和增加信令的灵活性,便于开放新业务,在通话时可以随意处理信令,成本低。目前得到广泛应用。

  25、列举5种以上的电话新业务?
       答:“热线服务”、“转移呼叫”、“遇忙回叫”、“三方通话”、“会议电话”、“呼出限制”、“来电显示”等。

posted @ 2010-09-25 11:36 鲁胜迪 阅读(496) | 评论 (0)编辑 收藏

使用一个regexp编写一个javascript函数判断电话号码的格式

/*使用一个regexp编写一个javascript函数isvalid()他接受一个string参数如果该函数与下列电话号码格式之一匹配就返回ture,否则就返回false。
(123)456-7890
(123) 456-7890
123 / 467-7890
123-456-7890
123 456 7890
1234567890
*/
代码
function isvalid(str)   
{  
 
    var regu =/(^\([1-9]{3}\)[1-9]{3}(-\d{4})?$) 
 |(^\([1-9]{3}\)\s[1-9]{3}(-\d{4})?$)
 |(^([1-9]{3}\s\/\s[1-9]{3}(-\d{4}))?$)
 |(^([1-9]{3}-[1-9]{3}(-\d{4}))?$)
 |(^([1-9]{3}\s[1-9]{3}(\s\d{4}))?$)
 |(^\d{10}$)/; 
    var re = new RegExp(regu);  
    if (re.test( str )) {
  //alert(str+"true");
      return true;  
    }else{
  //alert(str+"false");  
  return false;  
 }
}  

参考资料 
        用JavaScript判断日期、数字、整数和特殊字符  http://hi.baidu.com/wmqxyh/blog/item/31f8ab369cc1afbbd1a2d36a.html
        JavaScript RegExp 对象参考手册 http://www.w3school.com.cn/js/jsref_obj_regexp.asp

posted @ 2010-09-10 12:57 鲁胜迪 阅读(977) | 评论 (0)编辑 收藏

关于SERV-U中文显示乱码的解决方法

服务器上出现了一个奇怪的问题,就是用FTP连接以后所有的中文都显示为乱码,根本就看不清楚目录的名字,下面就把解决方法和大家分享下:

       开始我以为是区域和语言选项那里的问题,开始--控制面板---格式,看了当前的格式是中文简体,又看了下其他的语言设置,都是中文简体,没有任何问题,基本可以排除不是区域语言出的问题。

       接着开始检查SERV-U8.0的设置,发现了问题,解决方法如下:打开SERV-U---导航---限制和设置---FTP设置---找到OPTS UTF8 命令----编辑----选择禁用命令---然后确认---再选择全局属性-----高级选项---找到“对所有已收发的路径和文件名使用UTF-8编码”,把前面的勾去掉,确认。最后回到导航,用同样的方法设置“服务器限制和设置”,保存退出,就完成啦。

posted @ 2010-07-14 16:53 鲁胜迪 阅读(1798) | 评论 (0)编辑 收藏

oracle exp/imp 导入导出命令

(1)表方式,将指定表的数据导出/导入。
导出:
导出一张或几张表:

代码
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2

如果是分区表

代码
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1:tablespaces1,table2:tablespaces2 

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1:tablespaces1,table2:tablespaces2

导出某张表的部分数据

代码
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\”where col1=\’…\’  
and col2 \<…\” 

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\”where col1=\’…\’
and col2 \<…\”
导入:
导入一张或几张表

代码
$  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  tables=table1,table2  fromuser=dbuser touser=dbuser2 commit=y ignore=y 

$  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  tables=table1,table2  fromuser=dbuser touser=dbuser2 commit=y ignore=y
如果是分区表

代码
$  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  tables=table1:tablespaces1,table2:tablespaces2  fromuser=dbuser touser=dbuser2 commit=y ignore=y 

$  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  tables=table1:tablespaces1,table2:tablespaces2  fromuser=dbuser touser=dbuser2 commit=y ignore=y

(2)用户方式,将指定用户的所有对象及数据导出/导入。
导出:

代码
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy) 

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)
只导出数据对象,不导出数据  (rows=n )

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n
导入:

代码
imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  fromuser=dbuser  touser=dbuser2  
mmit=y ignore=y 

  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  fromuser=dbuser  touser=dbuser2
commit=y ignore=y
(3)全库方式,将数据库中的所有对象导出/导入导出:

代码
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y 

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y
导入:

代码
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2

posted @ 2010-07-14 16:51 鲁胜迪 阅读(53912) | 评论 (2)编辑 收藏

java 批量反编译工具

   JSunspot是一个基于Jad的Class文件(Java字节码)反编译小软件.适用于2000/XP/2003操作系统,用于反编译单个或批量的Class文件.

1,安装


   a,运行环境


      1,需要JDK(JRE)1.5以上的版本。
          注:如果不想安装JDK,也可以从其它地方拷贝JDK安装目录下的文件到程序目录下的jre目录中。


      2,运行于2000/XP/2003操作系统


   b,如何进行安装与卸载


       运行程序目录下这个程序Setup.exe进行安装和卸载。


2,使用


     a,反编译单个的Class文件:双击此Class文件即可。
          注:默认反编译完成后,使用记事本打开得到的源文件,可以在配置中修改打开程序。


     b,反编译批量的Class文件:右键Class文件所在的文件夹,在弹出的菜单中选择[JSunspot]即可。
          注:默认不处理子目录,可以在配置中开启对子目录的递归处理。


3,配置


       运行程序目录下这个程序Configuration.exe进行配置。

    如果您在使用中发现任何Bug或有任何的建议,请跟帖留言。

 下载地址:http://download.csdn.net/source/2506267

posted @ 2010-07-01 12:12 鲁胜迪 阅读(1915) | 评论 (0)编辑 收藏

Tomcat(免安装版)的安装与配置 配置成windows服务

Tomcat(免安装版)的安装与配置
一、下载Tomcat
Tomcat可以从http://tomcat.apache.org/网站下载,选择任意版本,在 Binary Distributions 下的zip包既是。

二、配置Tomcat
1、将下载Tomcat Zip压缩包解压。

2、修改\bin\startup.bat文件:
在第一行前面加入如下两行:
SET JAVA_HOME=JDK目录
SET CATALINA_HOME=前面解压后Tomcat的目录或者%cd%
如果需要使用shutdown.bat关闭服务器的话,也按照上面加入两行。

3、这样,运行startup.bat就可以运行服务器,运行shutdown.bat就可以关闭服务器了。

4、修改\conf\tomcat-users.xml文件:
在<tomcat-users>标签内加入
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
这样才可以使用Tomcat的管理界面。

三、将Tomcat加入服务
1、修改bin目录中的service.bat:
REM 添加下面的一行
set CATALINA_HOME=%cd%
如果从来没有安装过Tomcat,或者保证Services.msc启动服务管理器检查没有Apache Tomcat系统服务,到此你就可以转到第二步了。否则继续往下走
REM 按照描述修改下面的几行
set SERVICE_NAME=Tomcat5
REM 上面一行,Tomcat5修改成你需要的服务名,这个将是一后使用net start/stop来操作的服务名称。
set PR_DISPLAYNAME=Apache Tomcat
REM 上面一行,Apache Tomcat改为你需要的显示服务名,这个将显示在服务管理器中。
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
REM 这一行改不改无所谓,是服务的描述,根据自己的喜好决定吧。

2、运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行。
service.bat install
程序提示:The service 'Tomcat5(或者你修改一后的SERVICE_NAME)' has been installed
说明服务Tomcat已经被安装成功。
顺便说一下,运行service.bat remove可以移除服务。
3、到这里,服务添加成功,运行services.msc,可以看到添加的服务,默认状态下该服务是手动运行的,在他的属性中,将启动类型更改为“自动”,以后机器启动以后Tomcat就在后台启动了。

四、控制台控制服务的命令
启动服务
net Start 服务名
关闭服务
net stop 服务名
注:
1、此服务名可以是SERVICE_NAME,也可以是PR_DISPLAYNAME;
2、如果服务名中包含空格或者中文,请将服务名用半角双引号包含起来。

posted @ 2010-07-01 10:25 鲁胜迪 阅读(22224) | 评论 (1)编辑 收藏

魔兽3无法全屏两边有黑色的区域

在笔记本上运行魔兽3的时候发现不能全屏问题,我的系统是win7的,经过修改注册表的方式解决了问题。

解决方法:
如果你的操作系统是1280*800或者其他分辨率,只需要进入
[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\Video]
设置"reswidth"的值为1280,设置"resheight"的值为800就可以了。
注意在后面选"十进制"!

posted @ 2010-04-26 11:07 鲁胜迪 阅读(1069) | 评论 (0)编辑 收藏

“PDFMaker无法找到Adobe PDF Printer 的打印驱动程序”解决办法

Adobe Acrobat Perfessional是文献检索的必备工具,主要是因为它所附带的Adobe打印机的虚拟打印功能在检索中具有非常重要的作用。仅仅用Adobe Reader是远远不够的但是,很多人在安装新版的Adobe Acrobat Perfessional 9.0后却发现无法正常使用其打印功能以及将office文档转化为pdf文档的功能。
【问题症状】
安装Adobe Acrobat Perfessional 9.0后,office工具栏中会显示两个按钮。正常情况下,可以点击按钮直接将当前的office文档转化为pdf文档,同样IE工具栏和右键菜单中也有这两个按钮,用来将网页转化为pdf文件,非常方便。
问题是:网页文件可以顺利转化为pdf文件,但office 文档不能转化为 pdf 文档,每次点击word上的“转化为pdf”按钮时,就弹出对话框“PDFMaker无法找到Adobe PDF Printer 的打印驱动程序,请重装Adobe Acrobat Perfessional !”不仅如此,当我们想要使用Adobe的打印功能时,也会发现找不到Adobe PDF Printer的打印驱动程序。
【问题分析】
Adobe Acrobat是通过一个虚拟打印程序实现office文档到pdf文档转化的,这个虚拟打印驱动程序就是“Adobe PDF Printer”。正常情况下,Adobe Acrobat 安装完成后,应该可以在“控制面板-打印机和传真”中增加出来一个类似“Adobe PDF Converter”的打印机,如果没有这个打印机,就说明打印驱动程序安装有问题,在装换office文档时就会出现弹出对话框“PDFMaker无法找到Adobe PDF Printer 的打印驱动程序”的问题。
【问题解决】
产生这一问题的主要原因是很多用户使用的是精简版的windows操作系统,系统把一些打印驱动需要的文件精简掉了。因此对应的解决办法是:
1、手动在控制面板添加打印机,选择“连接到此计算机的本地打印机”,并取消“自动检测并安装即插即用打印机”选择,端口选择“Adobe PDF”,如果没有这个端口,则选择创建新端口。
2、驱动程序不要在列表中选择,而是选择从磁盘安装,选择指向Acrobat文件夹下的Xtras子目录,找到AdobePDF.inf(这个就是关键的驱动程序文件):
C:\Program Files\Adobe\Acrobat 9.0\Acrobat\Xtras\AdobePDF
然后安装。
3、安装完成前前,系统会复制一些安装驱动程序必须的文件:pscript.hlp,而且不能忽略,否则驱动无法正确安装。本文的附件就是这两个文件。下载这两个文件,指定给系统相应的地址,就可以完成安装了。
4、OK,现在你的打印机中终于出现Adobe PDF Converter ,但是这个时侯office中的转换按钮还是不能正常使用,依然会弹出对话框!必须将这个打印机的名字重命名为“Adobe PDF”。重命名中,测试右键菜单和Office中的转换指令,终于顺利转换成功!!随心所欲转换office文档和pdf文档的感觉真爽啊!!!


pscript.hlp下载地址 http://download.csdn.net/down/2026377/lushengdi

posted @ 2010-01-27 12:05 鲁胜迪 阅读(7964) | 评论 (0)编辑 收藏

ping不是内部命令````````(解决方法)

刚才想ping一下,发现提示 "ping不是内部命令````````"

原因是在装jdk的时候把path给改了

解决方法:
    我的电脑属性/高级/环境变量/在系统变量里找到path/编辑/
    将;%SystemRoot%\system32加到最后即可(注意,是在尾部追加,分号也包括)

posted @ 2010-01-22 11:32 鲁胜迪 阅读(776) | 评论 (0)编辑 收藏

统计页面分页打印功能

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><html>     <head>     <meta  ...  阅读全文

posted @ 2009-11-05 11:11 鲁胜迪 阅读(268) | 评论 (0)编辑 收藏

Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数)

函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32

2.CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- -
赵 A
3.CONCAT
连接两个字符串;
SQL> select concat(’010-’,’88888888’)||’转23’ 高乾竞电话 from dual;
高乾竞电话
----------------
010-88888888转23
4.INITCAP
返回字符串并将字符串的第一个字母变为大写;
SQL> select initcap(’smith’) upp from dual;
UPP
-----
Smith

5.INSTR(C1,C2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
SQL> select instr(’oracle traning’,’ra’,1,2) instring from dual;
INSTRING
---------
9

6.LENGTH
返回字符串的长度;
SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;
NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
------ ------------ ---------------- ------------ --------- --------------------
高乾竞 3 北京市海锭区 6 9999.99 7

7.LOWER
返回字符串,并将所有的字符小写
SQL> select lower(’AaBbCcDd’)AaBbCcDd from dual;
AABBCCDD
--------
aabbccdd

8.UPPER
返回字符串,并将所有的字符大写
SQL> select upper(’AaBbCcDd’) upper from dual;
UPPER
--------
AABBCCDD

9.RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符
LPAD 在列的左边粘贴字符
SQL> select lpad(rpad(’gao’,10,’*’),17,’*’)from dual;
LPAD(RPAD(’GAO’,1
-----------------
*******gao*******
不够字符则用*来填满

10.LTRIM和RTRIM
LTRIM 删除左边出现的字符串
RTRIM 删除右边出现的字符串
SQL> select ltrim(rtrim(’ gao qian jing ’,’ ’),’ ’) from dual;
LTRIM(RTRIM(’
-------------
gao qian jing

11.SUBSTR(string,start,count)
取子字符串,从start开始,取count个
SQL> select substr(’13088888888’,3,8) from dual;
SUBSTR(’
--------
08888888

12.REPLACE(’string’,’s1’,’s2’)
string 希望被替换的字符或变量
s1 被替换的字符串
s2 要替换的字符串
SQL> select replace(’he love you’,’he’,’i’) from dual;
REPLACE(’H
----------
i love you

13.SOUNDEX
返回一个与给定的字符串读音相同的字符串
SQL> create table table1(xm varchar(8));
SQL> insert into table1 values(’weather’);
SQL> insert into table1 values(’wether’);
SQL> insert into table1 values(’gao’);
SQL> select xm from table1 where soundex(xm)=soundex(’weather’);
XM
--------
weather
wether

14.TRIM(’s’ from ’string’)
LEADING 剪掉前面的字符
TRAILING 剪掉后面的字符
如果不指定,默认为空格符
15.ABS
返回指定值的绝对值
SQL> select abs(100),abs(-100) from dual;
ABS(100) ABS(-100)
--------- ---------
100 100

16.ACOS
给出反余弦的值
SQL> select acos(-1) from dual;
ACOS(-1)
---------
3.1415927

17.ASIN
给出反正弦的值
SQL> select asin(0.5) from dual;
ASIN(0.5)
---------
.52359878

18.ATAN
返回一个数字的反正切值
SQL> select atan(1) from dual;
ATAN(1)
---------
.78539816

19.CEIL
返回大于或等于给出数字的最小整数
SQL> select ceil(3.1415927) from dual;
CEIL(3.1415927)
---------------
4

20.COS
返回一个给定数字的余弦
SQL> select cos(-3.1415927) from dual;
COS(-3.1415927)
---------------
-1
21.COSH
返回一个数字反余弦值
SQL> select cosh(20) from dual;
COSH(20)
---------
242582598

22.EXP
返回一个数字e的n次方根
SQL> select exp(2),exp(1) from dual;
EXP(2) EXP(1)
--------- ---------
7.3890561 2.7182818

23.FLOOR
对给定的数字取整数
SQL> select floor(2345.67) from dual;
FLOOR(2345.67)
--------------
2345

24.LN
返回一个数字的对数值
SQL> select ln(1),ln(2),ln(2.7182818) from dual;
LN(1) LN(2) LN(2.7182818)
--------- --------- -------------
0 .69314718 .99999999

25.LOG(n1,n2)
返回一个以n1为底n2的对数
SQL> select log(2,1),log(2,4) from dual;
LOG(2,1) LOG(2,4)
--------- ---------
0 2

26.MOD(n1,n2)
返回一个n1除以n2的余数
SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;
MOD(10,3) MOD(3,3) MOD(2,3)
--------- -------- ---------
1 0 2

27.POWER
返回n1的n2次方根
SQL> select power(2,10),power(3,3) from dual;
POWER(2,10) POWER(3,3)
----------- ----------
1024 27

28.ROUND和TRUNC
按照指定的精度进行舍入
SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;
ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)
----------- ------------ ----------- ------------
56 -55 55 -55

29.SIGN
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
SQL> select sign(123),sign(-100),sign(0) from dual;
SIGN(123) SIGN(-100) SIGN(0)
--------- ---------- ---------
1 -1 0

30.SIN
返回一个数字的正弦值
SQL> select sin(1.57079) from dual;
SIN(1.57079)
------------
1

31.SIGH
返回双曲正弦的值
SQL> select sin(20),sinh(20) from dual;
SIN(20) SINH(20)
--------- ---------
.91294525 242582598

32.SQRT
返回数字n的根
SQL> select sqrt(64),sqrt(10) from dual;
SQRT(64) SQRT(10)
--------- ---------
8 3.1622777

33.TAN
返回数字的正切值
SQL> select tan(20),tan(10) from dual;
TAN(20) TAN(10)
--------- ---------
2.2371609 .64836083

34.TANH
返回数字n的双曲正切值
SQL> select tanh(20),tan(20) from dual;
TANH(20) TAN(20)
--------- ---------
1 2.2371609

35.TRUNC
按照指定的精度截取一个数
SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;
TRUNC1 TRUNC(124.16666,2)
--------- ------------------
100 124.16

36.ADD_MONTHS
增加或减去月份
SQL> select to_char(add_months(to_date(’199912’,’yyyymm’),2),’yyyymm’) from dual;
TO_CHA
------
200002
SQL> select to_char(add_months(to_date(’199912’,’yyyymm’),-2),’yyyymm’) from dual;
TO_CHA
------
199910

37.LAST_DAY
返回日期的最后一天
SQL> select to_char(sysdate,’yyyy.mm.dd’),to_char((sysdate)+1,’yyyy.mm.dd’) from dual;
TO_CHAR(SY TO_CHAR((S
---------- ----------
2004.05.09 2004.05.10
SQL> select last_day(sysdate) from dual;
LAST_DAY(S
----------
31-5月 -04

38.MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份
SQL> select months_between(’19-12月-1999’,’19-3月-1999’) mon_between from dual;
MON_BETWEEN
-----------
9
SQL>selectmonths_between(to_date(’2000.05.20’,’yyyy.mm.dd’),to_date(’2005.05.20’,’yyyy.mm.dd’)) mon_betw from dual;
MON_BETW
---------
-60

39.NEW_TIME(date,’this’,’that’)
给出在this时区=other时区的日期和时间
SQL> select to_char(sysdate,’yyyy.mm.dd hh24:mi:ss’) bj_time,to_char(new_time
2 (sysdate,’PDT’,’GMT’),’yyyy.mm.dd hh24:mi:ss’) los_angles from dual;
BJ_TIME LOS_ANGLES
------------------- -------------------
2004.05.09 11:05:32 2004.05.09 18:05:32

40.NEXT_DAY(date,’day’)
给出日期date和星期x之后计算下一个星期的日期
SQL> select next_day(’18-5月-2001’,’星期五’) next_day from dual;
NEXT_DAY
----------
25-5月 -01
41.SYSDATE
用来得到系统的当前日期
SQL> select to_char(sysdate,’dd-mm-yyyy day’) from dual;
TO_CHAR(SYSDATE,’
-----------------
09-05-2004 星期日
trunc(date,fmt)按照给出的要求将日期截断,如果fmt=’mi’表示保留分,截断秒
SQL> select to_char(trunc(sysdate,’hh’),’yyyy.mm.dd hh24:mi:ss’) hh,
2 to_char(trunc(sysdate,’mi’),’yyyy.mm.dd hh24:mi:ss’) hhmm from dual;
HH HHMM
------------------- -------------------
2004.05.09 11:00:00 2004.05.09 11:17:00

42.CHARTOROWID
将字符数据类型转换为ROWID类型
SQL> select rowid,rowidtochar(rowid),ename from scott.emp;
ROWID ROWIDTOCHAR(ROWID) ENAME
------------------ ------------------ ----------
AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH
AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN
AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD
AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES

43.CONVERT(c,dset,sset)
将源字符串 sset从一个语言字符集转换到另一个目的dset字符集
SQL> select convert(’strutz’,’we8hp’,’f7dec’) "conversion" from dual;
conver
------
strutz

44.HEXTORAW
将一个十六进制构成的字符串转换为二进制

45.RAWTOHEXT
将一个二进制构成的字符串转换为十六进制

46.ROWIDTOCHAR
将ROWID数据类型转换为字符类型

47.TO_CHAR(date,’format’)
SQL> select to_char(sysdate,’yyyy/mm/dd hh24:mi:ss’) from dual;
TO_CHAR(SYSDATE,’YY
-------------------
2004/05/09 21:14:41

48.TO_DATE(string,’format’)
将字符串转化为ORACLE中的一个日期

49.TO_MULTI_BYTE
将字符串中的单字节字符转化为多字节字符
SQL> select to_multi_byte(’高’) from dual;
TO
--

50.TO_NUMBER
将给出的字符转换为数字
SQL> select to_number(’1999’) year from dual;
YEAR
---------
1999

51.BFILENAME(dir,file)
指定一个外部二进制文件
SQL>insert into file_tb1 values(bfilename(’lob_dir1’,’image1.gif’));

52.CONVERT(’x’,’desc’,’source’)
将x字段或变量的源source转换为desc
SQL> select sid,serial#,username,decode(command,
2 0,’none’,
3 2,’insert’,
4 3,
5 ’select’,
6 6,’update’,
7 7,’delete’,
8 8,’drop’,
9 ’other’) cmd from v$session where type!=’background’;
SID SERIAL# USERNAME CMD
--------- --------- ------------------------------ ------
1 1 none
2 1 none
3 1 none
4 1 none
5 1 none
6 1 none
7 1275 none
8 1275 none
9 20 GAO select
10 40 GAO none

53.DUMP(s,fmt,start,length)
DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值
SQL> col global_name for a30
SQL> col dump_string for a50
SQL> set lin 200
SQL> select global_name,dump(global_name,1017,8,5) dump_string from global_name;
GLOBAL_NAME DUMP_STRING
------------------------------ --------------------------------------------------
ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D

54.EMPTY_BLOB()和EMPTY_CLOB()
这两个函数都是用来对大数据类型字段进行初始化操作的函数

55.GREATEST
返回一组表达式中的最大值,即比较字符的编码大小.
SQL> select greatest(’AA’,’AB’,’AC’) from dual;
GR
--
AC
SQL> select greatest(’啊’,’安’,’天’) from dual;
GR
--

56.LEAST
返回一组表达式中的最小值
SQL> select least(’啊’,’安’,’天’) from dual;
LE
--

57.UID
返回标识当前用户的唯一整数
SQL> show user
USER 为"GAO"
SQL> select username,user_id from dba_users where user_id=uid;
USERNAME USER_ID
------------------------------ ---------
GAO 25

58.USER
返回当前用户的名字
SQL> select user from dual;
USER
------------------------------
GAO

59.USEREVN
返回当前用户环境的信息,opt可以是:
ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE
ISDBA 查看当前用户是否是DBA如果是则返回true
SQL> select userenv(’isdba’) from dual;
USEREN
------
FALSE
SQL> select userenv(’isdba’) from dual;
USEREN
------
TRUE
SESSION
返回会话标志
SQL> select userenv(’sessionid’) from dual;
USERENV(’SESSIONID’)
--------------------
152
ENTRYID
返回会话人口标志
SQL> select userenv(’entryid’) from dual;
USERENV(’ENTRYID’)
------------------
0
INSTANCE
返回当前INSTANCE的标志
SQL> select userenv(’instance’) from dual;
USERENV(’INSTANCE’)
-------------------
1
LANGUAGE
返回当前环境变量
SQL> select userenv(’language’) from dual;
USERENV(’LANGUAGE’)
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
LANG
返回当前环境的语言的缩写
SQL> select userenv(’lang’) from dual;
USERENV(’LANG’)
----------------------------------------------------
ZHS
TERMINAL
返回用户的终端或机器的标志
SQL> select userenv(’terminal’) from dual;
USERENV(’TERMINA
----------------
GAO
VSIZE(X)
返回X的大小(字节)数
SQL> select vsize(user),user from dual;
VSIZE(USER) USER
----------- ------------------------------
6 SYSTEM


60.AVG(DISTINCT|ALL)
all表示对所有的值求平均值,distinct只对不同的值求平均值
SQLWKS> create table table3(xm varchar(8),sal number(7,2));
语句已处理。
SQLWKS> insert into table3 values(’gao’,1111.11);
SQLWKS> insert into table3 values(’gao’,1111.11);
SQLWKS> insert into table3 values(’zhu’,5555.55);
SQLWKS> commit;
SQL> select avg(distinct sal) from gao.table3;
AVG(DISTINCTSAL)
----------------
3333.33
SQL> select avg(all sal) from gao.table3;
AVG(ALLSAL)
-----------
2592.59

61.MAX(DISTINCT|ALL)
求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次
SQL> select max(distinct sal) from scott.emp;
MAX(DISTINCTSAL)
----------------
5000

62.MIN(DISTINCT|ALL)
求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次
SQL> select min(all sal) from gao.table3;
MIN(ALLSAL)
-----------
1111.11

63.STDDEV(distinct|all)
求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差
SQL> select stddev(sal) from scott.emp;
STDDEV(SAL)
-----------
1182.5032
SQL> select stddev(distinct sal) from scott.emp;
STDDEV(DISTINCTSAL)
-------------------
1229.951

64.VARIANCE(DISTINCT|ALL)
求协方差
SQL> select variance(sal) from scott.emp;
VARIANCE(SAL)
-------------
1398313.9

65.GROUP BY
主要用来对一组数进行统计
SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno;
DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
10 3 8750
20 5 10875
30 6 9400

66.HAVING
对分组统计再加限制条件
SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno having count(*)>=5;
DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
20 5 10875
30 6 9400
SQL> select deptno,count(*),sum(sal) from scott.emp having count(*)>=5 group by deptno ;
DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
20 5 10875
30 6 9400

67.ORDER BY
用于对查询到的结果进行排序输出
SQL> select deptno,ename,sal from scott.emp order by deptno,sal desc;
DEPTNO ENAME SAL
--------- ---------- ---------
10 KING 5000
10 CLARK 2450
10 MILLER 1300
20 SCOTT 3000
20 FORD 3000
20 JONES 2975
20 ADAMS 1100
20 SMITH 800
30 BLAKE 2850
30 ALLEN 1600
30 TURNER 1500
30 WARD 1250
30 MARTIN 1250
30 JAMES 950

posted @ 2009-11-03 12:02 鲁胜迪 阅读(230) | 评论 (0)编辑 收藏

jsp导出excel文件并设定单元格格式

jsp导出excel文件并设定单元格格式


<%@ page contentType="application/msexcel" %>
<!-- 以上这行设定本网页为excel格式的网页 -->
<%
   response.setHeader("Content-disposition","inline; filename=test1.xls");
   //以上这行设定传送到前端浏览器时的档名为test1.xls
   //就是靠这一行,让前端浏览器以为接收到一个excel档
%>
<html>
<head>
<title>Excel档案呈现方式</title>

<style>
.xlsText{mso-number-format:"\@";}    
</style>

</head>
<body>
  <table border="1" width="100%">
    <tr>
      <td>姓名</td><td>身份证字号</td><td>生日</td>
    </tr>
    <tr>
      <td>李玟</td><td class="xlsText">00111111111</td><td>1900/11/12</td>
    </tr>
    <tr>
      <td>梁静如</td><td>00222222222</td><td>1923/10/1</td>
    </tr>
    <tr>
      <td>张惠妹</td><td>00333333333</td><td>1934/12/18</td>
    </tr>
  </table>
</body>
</html>

mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ "

2 decimals, negative numbers in red and signed
(1.56   -1.56)

posted @ 2009-08-10 10:21 鲁胜迪 阅读(2555) | 评论 (1)编辑 收藏

orcale命令

     摘要:
update project_main b set b.KHNR =(select khzb from test_lsd a where a.id=b.xmid ) --将a表的khzb 的值更新到b表khnr中,条件是a.id=b.xmid

create table project_main_bak as select * from project_main --创建project_main表的备份表
  阅读全文

posted @ 2009-07-29 20:23 鲁胜迪 阅读(252) | 评论 (0)编辑 收藏

几个常用的js判断方法 CheckForm

     摘要: function isInt(intValue)//整数的正则表达式
function isFloat(floatValue) //小数的正则表达式
function isEmail(emailValue)//邮箱的正则表达式
function isNum(obj,alt)//数字的正则表达式
function isChar(obj,alt)//是否为字母
function isCharNum(flagValue)//是否为字母和数字(传真标识符)
function isBlank(obj,alt)//是否为空  阅读全文

posted @ 2009-07-06 10:12 鲁胜迪 阅读(1282) | 评论 (0)编辑 收藏

flex 3.0 eclipse plugin 下载

flex 3.0 eclipse plugin
FLEX3正式版EXE下载地址:
http://trials.adobe.com/Applications/Flex/FlexBuilder/3/FB3_WWEJ.exe
Flex正式版插件下载地址:
http://trials.adobe.com/Applications/Flex/FlexBuilder/3/FB3_WWEJ_Plugin.exe

建议用迅雷下载
flex 3.0 eclipse plugin 注册码
1377-4161-2948-1947-9094-6300
1377-4165-7463-9669-7192-2949
1377-4163-6842-6362-1371-1304

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/faq_tong/archive/2009/05/27/4221678.aspx

posted @ 2009-06-18 09:25 鲁胜迪 阅读(2904) | 评论 (1)编辑 收藏

联合查询 使用方法

  联合查询

Ø  Union :集合的并,不包括重复行

select field1, field2, . field_n from tables UNION select field1, field2, . field_n from tables;

Ø  union all:集合的并,包括重复行

select field1, field2, .field_n from tables UNION ALL  select field1, field2, field_n from tables;

Ø  intersect :集合的交,不包括重复行

select field1, field2, field_n from tables INTERSECT select field1, field2, field_n from tables;

Ø  minus:集合的差,不包括重复行

select field1, field2, field_n from tables MINUS select field1, field2, field_n from tables;

 

实例:


Id
 Name
 score
 
1
 Aaron
 78
 
2
 Bill
 76
 
3
 Cindy
 89
 
4
 Damon
 90
 
5
 Ella
 73
 
6
 Frado
 61
 
7
 Gill
 99
 
8
 Hellen
 56
 
9
 Ivan
 93
 
10
 Jay
 90
 


select * from student where id < 4 union select * from student where id > 2 and id < 6 的查询结果:

Id
 Name
 score
 
1
 Aaron
 78
 
2
 Bill
 76
 
3
 Cindy
 89
 
4
 Damon
 90
 
5
 Ella
 73
 


select * from student where id < 4 union All select * from student where id > 2 and id < 6的查询结果:

Id
 Name
 score
 
1
 Aaron
 78
 
2
 Bill
 76
 
3
 Cindy
 89
 
3
 Cindy
 89
 
4
 Damon
 90
 
5
 Ella
 73
 


select * from student where id < 4 intersect select * from student where id > 2 and id < 6的查询结果:

Id
 Name
 score
 
3
 Cindy
 89
 


select * from student where id < 4 minus select * from student where id > 2 and id < 6的查询结果:

Id
 Name
 score
 
1
 Aaron
 78
 
2
 Bill
 76
 
4
 Damon
 90
 
5
 Ella
 73
 

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/houlinghouling/archive/2009/01/09/3741174.aspx

posted @ 2009-06-17 15:28 鲁胜迪 阅读(173) | 评论 (0)编辑 收藏

局域网隐藏IP地址的方法

【导读】:配置安全策略单击“添加”按钮,并在打开安全规则向导中单击“下一步”进行隧道终结 设置,在这里选择“此规则不指定隧道”。

具体的方法是是,用本地安全策略,先打开IP安全策略,方法是在“运行”里输入 secpol.msc或着在控制面板里打开:

创建IP安全策略

右击刚刚添加的“IP安全策略,在本地机器”,选择“创建IP安全策略”,单击“下 一步”,然后输入一个策略描述,如“no Ping”。单击“下一步”,选中“激活默认响应规则”复选项,单击“下一步”。开始设置身份验证方式,选中“此字符串用来保护密钥交换(预共享密钥)” 选项,然后随便输入一些字符(下面还会用到这些字符)。单击“下一步”,就会提示已完成IP安全策略,确认选中了“编辑属性”复选框,单击“完成”按钮, 会打开其属性对话框。

第三步:

配置安全策略单击“添加”按钮,并在打开安全规则向导中单击“下一步”进行隧道终结 设置,在这里选择“此规则不指定隧道”。单击“下一步”,并选择“所有
网络连接”以保证所有的计算机都 Ping不通。单击“下一步”,设置身份验证方式, 与上面一样选择第三个选项“此字符串用来保护密钥交换(预共享密钥)”并填入与刚才相同的内容。单击“下一步”,在打开窗口中单击“添加”按钮,打开 “IP筛选器列表”窗口。单击“添加”,单击“下一步”,设置源地址为“我的IP地址”,单击“下一步”,设置目标地址为“任何IP地址”,单击“下一步 ”,选择协议为ICMP,现在就可依次单击“完成”和“关闭”按钮返回。此时,可以在IP筛选器列表中看到刚刚创建的筛选器,将其选中之后单击“下一步 ”,选择筛选器操作为“要求安全设置”选项,然后依次点击“完成”,“关闭”按钮,保存相关的设置返回管理控制台

第四步:

指派安全策略

最后只需在“控制台根节点”中右击配置好的“禁止Ping”策略,选择“指派”命令使配置生效。经过上面的设置,当其他计算机再Ping该计算机时,就不再相通了。但如果自己Ping本地计算机,仍可相通。此法对于Windows 2000/XP均有效。

在网上邻居上隐藏你的计算机

编辑注册表

将HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanManServerParameters 下Hidden的值从0设置为1,该值是DWORD类型


转载于http://www.enet.com.cn/article/2008/0523/A20080523273242.shtml

posted @ 2009-02-06 21:51 鲁胜迪 阅读(395) | 评论 (0)编辑 收藏

oracle:添加用户,赋权,修改密码,解锁,删除用户

转载于http://hi.baidu.com/249477929/blog/item/4f128e38196a3ac5d562251a.html

 

添加用户(随着用户的创建,自动产生与用户同名的schema)
CREATE USER "TESTER" PROFILE "DEFAULT" IDENTIFIED BY "TESTER" DEFAULT TABLESPACE "TESTDATA" TEMPORARY TABLESPACE "TESTTEMP" ACCOUNT UNLOCK;

赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)
据说生产环境下,只是connect resource这样的角色就可以了。
GRANT "CONNECT" TO "TESTER";
GRANT "RESOURCE" TO "TESTER";
GRANT "DBA" TO "TESTER";
GRANT "EXP_FULL_DATABASE" TO "TESTER";
GRANT "IMP_FULL_DATABASE" TO "TESTER";

删除用户:例如创建了一个用户 A,要删除它可以这样做

connect sys/密码 as sysdba;

drop user A cascade;//就这样用户就被删除了

用户修改密码,解锁
ALTER USER "SCOTT" IDENTIFIED BY "*******"
ALTER USER "SCOTT" ACCOUNT UNLOCK

 

1.查看所有用户:
select * from dba_user;
select * from all_users;
select * from user_users;
2.查看用户系统权限:
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;

 

Oracle中新建用户名

连接ORACLE数据库:
1、在Oracle Database Assistant中建立自己的数据库;
2、在Oracle Net8 Easy config中建立连接与自己的数据库的连接,取一个service名,IP:为本地IP 127.0.0.1,database sid为你所建立的

数据库的SID,用户名为:system,密码:manager或是自己设的密码;
3、在SQLPLUS中连接自己的数据库,用户名为:system,密码:manager或是自己设的密码,tom:你刚建立的service名.
4、显示当前连接用户:show user;
5、新建用户并授权:sql>
create user tom identified by 密码;

                                  sql> grant connect,resource to tom;//授权

     注:授权还有:create any procedure,select any dictionary(登陆oem需要),select any table等.
6、在sqlplus中用刚建立的用户:tom/密码,连接;
7、建立表空间。

 

数据库的初始化参数文件:init+实例名.ora文件,编辑此文件中的内容,可以改变数据库使用的方法和分配的资源.

启动ORACLE数据库,在DOS方式下运行svrmgr30,然后输入connect internal,密码为:oracle,再输入startup即可.

表空间的建立:storage manager
回滚段可在storage manager中建立

启动oracle数据库
在DOS窗口下,输入svrmgr30,启动服务器管理器,输入connect internal,输入密码oracle,输入shutdown,关闭数据库,输入startup,启动数据库.


1. Oracle安装完成后的初始口令?10g以后安装的时候选高级,密码都可以自己设置,呵呵,scott/tiger是不变的。

   internal/oracle

   sys/change_on_install

   system/manager

   scott/tiger

   sysman/oem_temp

 

建立表空间
create tablespace test1 datafile 'd:tabletest1.dbf' size 1M;

创建名为wjq的用户,其缺省表空间为test1。在SQL*PLUS以SYS用户连接数据库,运行以下脚本。
create user wjq identified by password default tablespace test1;


以用户wjq连接sqlplus
建立表:CREATE TABLE t1(empno NUMBER(5) PRIMARY KEY, ename VARCHAR2(15) NOT NULL, job VARCHAR2(10), mgr NUMBER(5),hiredate

DATE DEFAULT (sysdate), sal NUMBER(7,2), comm NUMBER(7,2));
建立表T2并指定此表的表空间为test1:CREATE TABLE t2(empno NUMBER(5) PRIMARY KEY,ename VARCHAR2(15) NOT NULL,
job VARCHAR2(10),mgr NUMBER(5),hiredate DATE DEFAULT (sysdate),sal NUMBER(7,2),comm NUMBER(7,2)) TABLESPACE test1;


插入记录:insert into t1 values(101,'wang','it',25,'',20,20);

posted @ 2009-01-18 14:30 鲁胜迪 阅读(2970) | 评论 (0)编辑 收藏

jsp页面传值产生乱码

jsp页面传值产生乱码
很有可能是因为表单的提交方式设成了post方式,将其去掉,设成默认的get方式就不会出现jsp页面传值产生乱码的现相了。

以上的这中情况是在

解决tomcat下中文乱码问题http://www.blogjava.net/lushengdi/archive/2008/01/07/173250.html

这种方式解决不了的情况下的出的结论。

posted @ 2009-01-02 22:02 鲁胜迪 阅读(406) | 评论 (0)编辑 收藏

dtree--JS树形控件【转】

     摘要: dtree.js树的使用   阅读全文

posted @ 2008-12-27 10:59 鲁胜迪 阅读(7744) | 评论 (1)编辑 收藏

Windows XP / 2003 / Vista 原版光盘镜像(下载)及其主要特征

     摘要: 转载于http://hi.baidu.com/guoguo6688/blog/item/c160e8137cb9c6005aaf5312.html 下载前必读—— WindowsXP“三优”进阶——优化资源、优化系统、优化技巧 关于Windows Vista——下载 刻盘 安装 激活 优化 安全 比较 综合 最新下载:Windows Vista 系统资源和破...  阅读全文

posted @ 2008-12-23 18:30 鲁胜迪 阅读(2230) | 评论 (0)编辑 收藏

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(4)

随笔分类

随笔档案

文章分类

新闻分类

搜索

最新评论

阅读排行榜

评论排行榜