2009年4月30日星期四

如何同时应用2个以上的滤镜样式特效到一个对象上

CSS样式中的滤镜特效使我们能方便的作出特殊的效果,但是如何才能在一个对象上同时应用多个滤镜特效呢?
原来,滤镜的应用应该遵循如下的原则:
1、如果使用多的滤镜,那么滤镜间要以空格分开。
2、一个滤镜中的若干参数以逗号分隔。
3、Filter和其他的CSS样式则以分号分开。

例如:
style="filter: gray fliph;"
可以同时实现黑白和左右翻转2种特效,注意gray和fliph中间是空格分隔,最后才用分号。

世卫组织规定的流感大流行警告的六大级别

根据世卫组织规定,流感大流行警告共有六大级别: 
一级:流感病毒在动物间传播,但未出现人感染的病例。 
二级:流感病毒在动物间传播,这类病毒曾造成人类感染,因此被视为流感流行的潜在威胁。 
三级:流感病毒在动物间或人与动物间传播,这类病毒已造成零星或者局部范围的人感染病例,但未出现人际间传播的情况。 
四级:流感病毒在人际间传播并引发持续性疫情。在这一级别下,流感蔓延风险较上一级别“显著增加”。  
五级:同一类型流感病毒在同一地区(比如北美洲)至少两个国家人际间传播,并造成持续性疫情。尽管大多数国家在这一级别下仍不会受显著影响,但五级警告意味着大规模流感疫情正在逼近,应对疫情采取措施的时间已经不多。 
六级:同一类型流感病毒的人际间传播发生在两个或者两个以上地区。这一级别意味着全球性疫情正在蔓延。

2009年4月27日星期一

如何防控人感染猪流感病毒疫情

【帮忙宣传,预防猪流感】

据卫生部网站报道,近来,在美国和墨西哥发生人感染猪流感病毒疫情,世界卫生组织已宣布此次疫情为“具有国际影响的公共卫生紧急事态”。虽然目前中国尚未发现疫情,但需要加强对公众防控人感染猪流感病毒的健康知识宣传,提高公众的自我保护能力。为此,中国疾病预防控制中心专家就相关问题回答了记者的提问。

问:何谓猪流感?猪流感病毒是否可以传染给人?
答:猪流感是一种由A型猪流感病毒引起的猪呼吸系统疾病,该病毒可在猪群中造成流感暴发。
通常情况下人类很少感染猪流感病毒。近年在美国等地也出现过人感染猪流感病例,患者大多为与病猪有过直接接触的人。

问:人如何感染猪流感?人感染猪流感后有何症状和表现?
答:人可能通过接触受感染的生猪或接触被猪流感病毒感染的环境,或通过与感染猪流感病毒的人发生接触。
人感染猪流感后的症状与普通人流感相似,包括发热、咳嗽、喉咙痛、身体疼痛、头痛、发冷和疲劳等,有些还会出现腹泻和呕吐,重者会继发肺炎和呼吸衰竭,甚至死亡。

问:是否有治疗猪流感的疫苗?
答:目前虽尚无疫苗预防人感染猪流感,但人感染猪流感是可防、可控、可治的。

问:食用猪肉是否会感染猪流感?
答:目前尚无证据表明猪流感能通过食物传播。因此,食用处理得当的熟猪肉和猪肉制品是安全的。将猪肉烹制内部温度达到71℃,可杀死细菌和病毒。

问:出国人员如何加强预防?
答:目前,人感染猪流感疫情发生地已知有美国加利福尼亚(California)、得克萨斯(Texas)和堪萨斯(Kansas)3个州,以及墨西哥首都墨西哥市(FederalDistrict,Mexico City)、东南部的瓦哈卡(Oaxaca)、中部的圣路易玻托西(SanLuisPotosi)和北部的墨西卡利(Mexicali)和下加利福尼亚(BajaCalifornia)等5个地市。建议中国公民前往上述地区商务和旅行时,应了解当地疫情进展情况,做好个人防护。各旅行社在组团前往上述地区时,有责任告知团员疫情情况,提醒团员做好个人防护。主要个人防护措施有:
1、避免接触流感样症状(发热,咳嗽,流涕等)或肺炎等呼吸道病人。
2、注意个人卫生,经常使用肥皂和清水洗手,尤其在咳嗽或打喷嚏后。
3、避免接触生猪或前往有猪的场所。
4、避免前往人群拥挤场所。
5、咳嗽或打喷嚏时用纸巾遮住口鼻,然后将纸巾丢进垃圾桶。
6、如在境外出现流感样症状(发热,咳嗽,流涕等),应立即就医(就医时应戴口罩),并向当地公共卫生机构和检验检疫部门说明。

问:回国人员如何加强预防?
答:1、从上述地区归国入境时,如出现流感样症状(发热,咳嗽,流涕等),应主动向出入境检验检疫机构说明。
2、从上述地区回国2周内,如出现流感样症状(发热,咳嗽,流涕等),应及时与当地卫生疾控部门联系。

2009年4月26日星期日

DHCP Client服务影响ACTIVESYNC与Windows mobile设备的链接

一次在管理服务时,把DHCP Client服务设置为手动,之后在把PPC手机通过USB线连接到笔记本时,发现ACTIVESYNC报告无法获取IP地址,而不能连接。

经过更换USB线,现象依旧。

后发现打开DHCP Client服务后ACTIVESYNC与手机连接正常

PPC系统:Windows Mobile 6.1
ACTIVESYNC:4.5

2009年4月21日星期二

ASP.NET中点击Ajax的updatepanel中的按钮时报告的Sys.WebForms.PaeRequestManagerServerErrorException未知异常,错误号:12030、12031、404等的原因

在ASP.NET使用Ajax时,如果点击updatePanel中的按钮时系统报告Sys.WebForms.PaeRequestManagerServerErrorException……等未知异常,状态代码是:12030或者12031有时也报告404等,代码没有问题。

【原因】
此时可以检查一下项目名称中是否有中文存在,一般中文的项目名会产生这类问题。

【解决方法】
1,保存并退出VS
2,在我的电脑中对网站所在文件夹重命名,改为英文名字
3,打开VS并选择文件--打开--网站,选择新改好的文件夹,问题解决。

建议出了字符串中的内容使用中文外,其它地方都使用英文。

2009年4月20日星期一

Javascript中,window对象的2种定时方法:setTimeout和setInterval的对比

  window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
  setInterval方法则是表示间隔一定时间反复执行某操作。

简单的说呢,就是setTimeout只做一次,setInterval是反复做

  如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:
例如:tttt=setTimeout('northsnow()',1000);
clearTimeout(tttt);

或者:

tttt=setInterval('northsnow()',1000);
clearInteval(tttt);

Javascript中,使用Window对象的Screen属性获取屏幕分辨率和可用宽度和高度

window.screen.availHeight 可用的屏幕高度 比如去掉任务栏后的剩余的空间window.screen.availWidth 可用的屏幕宽度

window.screen.height 屏幕垂直分辨率 如:768
window.screen.width 屏幕水平分辨率 如:1024

2009年4月9日星期四

word文档变成乱码后如何修复?(office操作技巧word)

有时候打开Word文档可能会看见文档变成了一堆乱码。不用着急,可以试着通过下面的两个方法来挽救你的文件。
一、替换格式法
就是把损坏的Word文档存为另一种格式。
1、打开被损坏的文档单击“文件/另存为”菜单,在 “保存类型”列表中,选择“RTF格式”,然后单击“保存”按钮,并关闭word。
2、打开刚才保存的RTF格式文件,再次使用 “另存为”将文件重新保存为“Word文档”,现在打开这个word文件就可以发现文件已经被恢复过来了。
如果在转换成rtf格式后文件仍然不能被恢复,可以将文件再次转换为纯文本格式(*.txt),再转换回Word格式。当然在转换为txt文件的时候其图片等信息会丢失掉。

二、删除格式信息法
Word文档的最后一个段落符号记录着全篇文档的格式信息,有时删除这些格式信息就可以恢复变成乱码的文件。
1、在打开损坏的文档后,单击“工具/选项”菜单,选择“编辑”标签,取消对“使用智能段落选择范围”复选框的勾选,然后单击 按钮。这样就可以修复文件了。
2、选定最后一个段落符之外的全部内容,然后将这些内容粘贴复制到新的word文件中即可。

可能不是对所有变成乱码的文档有效,不过死马当作活马医吧

2009年4月7日星期二

网上收集的三星手机指令

三星手机的指令,我的一部三星手机曾经出现无法开机的故障,通过这里的*2767*3855#命令重写EEPROM资料修复正常使用。希望对大家有所帮助。比较长,大家慢慢看。
--------------------------------
  *#06#显示IMEI号,第七第八位是89,90,92的是韩国产的,但是串号可以改的哦。
  *#9999#或*#0837#显示软件版本;
  *#0001#显示RS232串行通信参数设置;
  *#0228#显示电池容量和温度;
  *#0523#调节对比度;
  *#0636#存储器容量显示
  *#0778# SIM卡信息
  *#0324#网络检测(工程模式)
  *2767*2878# EEPROM话机当前设定复位,手机设定总清除,常用于解锁
  *2767*3855#从字库中取出程序重置EEPROM为出厂值—总复位(修复软件故障)。对修改过IMEI码的机,此指令可恢复原出厂机身号码。此指令还用于因EEPROM(码片)内程序紊乱造成的故障。使用这个命令会清除电话薄,慎重使用。
  *2767*7377#解手机密码的复位指令
  *2767*927# WAP部分清空,解决进WAP设置死机。原来不能上网,用了该指令以后,就可以上网了!
  *#8999*228#电池参数显示,类型/电压/温度
  *#8999*268#更改开机国家英文(表示水改版的原销售地)显示。
  *#8999*289#铃声调整,振铃器频率测试/显示频率,上下键调节
  *#8999*246#程序参数显示
  *#8999*364#显示Watchdog状态
  *#8999*377# EEPROM错误显示
  *#8999*427# WATCHDOG信号路径设置
  *#8999*523#(不插卡*#0523#)液晶显示对比度调节,上下键调节
  *#8999*636#存贮状态显示
  *#8999*746# SIM卡文件规格测试
  *#8999*786#当前日期、时间读取:显示的内容为本次开机的时间以及本次开机后到当前的时间长。按->后显示最新的本次开机后到当前的时间长;再按->后显示上一次的开机时间;再按->后显示上一次的关机时间以及上次开关机的时长。
  *#8999*842#振子振动测试,上下键调节转速
  *#8999*9266#显示收信通道号和收信强度指示
  *#8999*947#在重大错误情况下复位设置指令
  *2767*3855#可用于鉴别手机IMEI码是否被奸商更改。方法是:先输入*#06#,看看您的IMEI码并记录下来,然后再输入
  *2767*3855#,这时手机会把手机Flash中的资料还原到EEPROM码片中,最后再输入*#06#看看你的手机的IMEI号变成什么?如果变的一塌糊涂,和你第一次记录下来的不一样,并且和手机背面标贴上的IMEI不一样,就肯定是改版机了。如果是正品,使用此方法前后看到的IMEI绝对应该是相同的。如果你是改版机器,再想变回原来的那串伪造的IMEI号,就非的去买数据线,再搞个软件才能改回来,一般市场上改板机差不多都这样做。
  手机的*#09#不要随便按,因为会有密码泄漏,背被别人得到
  有些指令象*#0523#的输入,一些型号的手机要插卡,有些不用。
  另外,如出现一次输入成功,而再输入失败的情况,是由于手机软件上的记忆效应,你可以将手机的电池卸下重装上再试输入(例如:*2767*3855#指令输入后,有时不重装电池,手机是不能开机的).不过自从600C以后机子都被三星精简过了指令,有很多不能用了,各位具体试一下就知道了
  三星600万用密码为9998
  三星解话机锁:*2767*2878#/*2767*7377#
  三星码片复位:*2767*3855#也可用于解机锁或卡锁
  三星调显示屏对比度:*#0523#
  三星软件版本:*#9999#
  三星A100-A188看版本:*#0837#
  三星600测试指令
  *#9999#显示软件版本
  *2767*2878#话机复位
  *2767*3855#码片复位(800禁用)
  *2767*7377#码片复位(新版)
  *#9998*228#显示电池,温度,容量参数
  *246#显示程序参数
  *289#调节振铃频率
  *324#网络检测
  *364#看门狗信号
  *377#码片错误提示
  *523#调节显示对比度
  *636#存储器容量显示
  *837#显示软件版本
  *947#致命错误复位
  *842#振动测试
  *737#个人化设定
  *785#触发PTK
  *862#话音解码寄存器
  *447#出错复位
  *9266#收信强度指示
  三星手机的秘籍:取消开机显示的国家名,
  三星SGH-800c:输入*#9998*268#,这时手机会出现一个菜单,按向上或向下的按键,选取Default Logo即可;
  三星SGH-A100:输入*#9998*627837793#,这时手机会显示输入的命令不对,不要紧,按一下向下的箭头,输入*#9998*5646#,选取Default Logo即可
  三星A300指令大全*#9998*4357#可用指令列表(即HELP,可看到以下大部分指令);
  *#9999#查看软件版本;
  *#0837#显示硬件版本(包括软件版本和硬件生产日期,第6屏MP V1.xxx为硬件版本);
  *#0001#显示RS232串行通信参数设置;
  *#0324#网络检测(工程模式);
  *#0636#存储器容量显示;
  *#0842#测试震动;
  *#0289#或*#9998*289#测试响铃(铃声调整,振铃器频率测试/显示频率,上下键调节);
  *#0228#或*#9998*228#或*#1999#显示电池的所有信息,电池参数显示,电池容量,类型/电压/温度;
  *#0778#或*#9998*0778#翻屏,就可以显示SIM卡的详细信息了;
  *#0782# RTC Display(好象是显示当前时钟)
  *#0523#或*#9998*523# LCD对比度,上下键调节
  *#9998*364#显示Watchdog状态
  *#9998*427# WATCHDOG信号路径设置
  *#9998*746# SIM卡文件规格测试
  *#9998*0377#软件出错LOG (EEPROM错误显示)
  *#0638# SIM net Work ID
  *#9998*3323# Forced Crash (此栏估计是程序调试所用,慎用,有些死机只能下电池了)
  *#9998*9266#显示收信通道号及收信强度;
  *#9998*786#显示的内容为本次开机的时间以及本次开机后到当前的时间长。按-后显示最新的本次开机后到当前的时间长;再按-后显示上一次的开机时间;再按-后显示上一次的关机时间以及上次开关机的时长;
  *#9998*5646#更改开机显示国家(GSM LOGO SET);
  *2767*3855#或*9998*947#把手机Flash中的IMEI码还原到EEPROM码片中,再用*#06#可看IMEI是否被更改;
  *2767*927#这是I5版解决WAP设置从起,上网的方法;
  *2767*2878#机器主复位!会删除话机中的电话簿和话机的设置;
  *#9998*76#或*#9998*0076#你的手机上会有“produt number”(Prodution No)提示,如果你的三星手机是行货的话,在“number”下面有一串的数字,水货的话都没有的;
  三星R200该版的R208卡锁机。本想着能用解A408版本的指令,就是看PUK 9位数字的办法揭开。但失败。根本问题就是R系列的机器是用*#8999*开头的指令,用*#9998#的无效
  三星2400密碼破解,不装卡,开机,再装卡,输*2767*2878,在按#的同时按开机键直到显示"请稍侯"放开按键就好了。再到菜单把密码关掉。(这可是原厂机密哦)
  三星A300/A100解SIM卡锁:输入*#9998*627837793#显示错误信息,再输入*#9998*737#,按上键找PCK码,有一个9位数的数字,去掉第一位后记下,输入(*)#0149/0111*23456789#就可以了,以上不插卡,
  或输入*#0737#找一项PCK的去掉第一位后面8位就是SIM卡密码了。
  a188/a388/a408/t208/s108/s308的工程模式前缀都是:*#9998*----#
  a288/n288/n628/t108/t408/t508的工程模式前缀都是:*#8999*----#
  *#9998#----#
  VER9999 SW Version   显示手机软件版本号(*#9999#也可)
  VER8888 HW Version   显示手机硬件版本(*#8888#也可)
  VIB0842 Vibrator       振动测试
  BUV0289 Buzzer        振铃信号频率测试
  BET0228 Batter Stat     电池参数读取
  RTC0782 RTC Display     RTC显示
  LCD0523 LCD Contrast     LCD调节
  ERR0377 NVM error log    手机错误信息
  LOGO 5646 GSM Logo set     设置GPRS logo
  SST0778 SIM Serv.Table    SIM卡信息
  NET0638 SIM network ID    SIM卡网络名称
  SIM0746 SIM Tnfo       SIM卡类型
  PN 0076 Production no    手机密码
  DEAD 3323 Forced Crash     手机单方服务
  BRKN 2576 SIM error      SIM卡错误信息
  HELP 4357 Help         帮助信息
  *2767*2878# 话机当前设定复位(手机解锁)
  *2767*3855# 话机EEPROM总复位(修复软件故障)
  *2767*927#  WAP(GPRS)复位  *2767*5282# JAVA复位
--------------------------------

IIS6 和Tomcat5 的整合

  首先说明系统配置,Windows 2003 Server中文版+IIS6+Tomcat5.0.14,JDK 1.4.2安装目录为C:\JDK,Tomcat安装目录为C:\Tomcat,环境变量JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径)
  Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安装好了Tomcat5和IIS6并都能独立运行,两者的默认网站均指向C:\web目录。
  
  现在我们要做的是到http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.2-win32-IIS.zip 去下载JK2,由JK2负责IIS和Tomcat的通讯,解开后得到isapi_redirector2.dll,我把它放在了C:\tomcat\iis下(目录随便)。
  接下来在Tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段东东拷进去保存。注意file=".."之中的路径要用"/"哦!

[shm]
file=c:/Tomcat/logs/jk2.log
size=1048576

# 实际运用时把所有的localhost和8009换成你自己的IP和端口
[channel.socket:localhost:8009]
port=8009
host=localhost

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009

# define the worker
[status:status]

# Uri mapping
[uri:/jkstatus/*]
worker=status:status

  之后编辑jk2.properties文件,确认其中是否有此一句:
  request.tomcatAuthentication=false
  接下来开始编辑注册表,直接建一个iis.reg文件,把下面一段拷进去保存然后双击iis.reg把信息导入注册表。(注意,把涉及的Tomcat路径改成你的Tomcat的路径)
  Windows Registry Editor Version 5.00
  [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
  "serverRoot"="c:\\Tomcat"
  "extensionUri"="/jakarta/isapi_redirector2.dll"
  "workersFile"="c:\\Tomcat\\conf\\workers2.properties"
  "logLevel"="INFO"
  然后打开“我的电脑->控制面板->管理工具->Internet信息服务管理器”,在里面选择“网站”中的默认网站(默认网站我假定指向C:\web),在其上点右键选“属性”,在弹出的页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入你的isapi_redirector2.dll的绝对路径。“确定”后点“确定”关闭属性页。再在“默认网站”上右键,选择“新建”->“虚拟目录”,别名填jakarta,下一步,路径选为你的isapi_redirector2.dll存放的目录,我的是C:\tomcat\iis,下一步,权限中记得把“执行”那项打勾,好了,完成。
  如果你用的是IIS5的话,到这里就可以结束了,但IIS6还没完,继续。
  在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键选择“添加一个新的Web服务扩展”,弹出的框中扩展名填Tomcat(其实无所谓的),“要求的文件”选“添加”然后找到你的isapi_redirector2.dll后“确定”。“设置扩展状态为允许”也打上勾,确定。
  好了,配置完了。现在我们启动Tomcat5,然后net start w3svc启动IIS6。键入http://localhost:8080/hello.jsp(这个文件是我放在c:\web下的)看看!然后在看看http://localhost/hello.jsp,如果两者执行结果一样,恭喜你,整合成功了!

  但或许此时还不行,这时你该确认以下几点:
  1.你的“Internet信息服务管理器”->“网站”->“默认网站”->“属性”->“ISAPI筛选器”中的jakarta是否是向上的绿色箭头?如果是红色的,检查一下你之前做的配置有没有少了或是写错了点什么,再重新配置一遍
  2.确认你的Tomcat安装目录下的common\lib目录中是否有tools.jar文件(Tomcat5好像是有的,但Tomcat4中是没有的,网上的文档很少提到这件事,致使我多次配置失败),没有的话从JDK的lib下拷一个过去。
  3.IIS指向的目录最好和Tomcat指向的目录一致,不然会发生找不到图像和其他资源文件的问题。(这点不影响执行,呵呵!)
  4.英文文档中还提到应该把IIS6设置为IIS5隔离模式,“Internet信息服务管理器”->“网站”->“属性”->“服务”,把“以IIS5.0隔离模式运行WWW服务”打上勾。不过我不打勾也能正常使用,如果你配置不成功也可以试试这个。

JDBC连接数据库之十大技巧【转】

Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同。下面提供了一些JDBC访问Oracle数据库的技巧。

1、在客户端软件开发中使用Thin驱动程序
在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。

2、关闭自动提交功能,提高系统性能
在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:
conn.setAutoCommit(false);
值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。

3、在动态SQL或有时间限制的命令中使用Statement对象
在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。
此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。

4、利用helper函数对动态SQL命令进行格式化
在创建使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O'Reilly插入表中的SQL命令,则必须使用二个相连的“''”号替换O'Reilly中的“'”号。完成这些工作的最好的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。

5、利用PreparedStatement对象提高数据库的总体效率
在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。

6、在成批处理重复的插入或更新操作中使用PreparedStatement对象
如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。Oracle提供的Statement和 CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用
setExecuteBatch():  PreparedStatement pstmt3D null;  
try {
  ((OraclePreparedStatement)pstmt).setExecuteBatch(30);
  ...
  pstmt.executeUpdate();
  }
调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。

7、使用Oracle locator方法插入、更新大对象(LOB)
Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法设置CLOB的值。只有locator本身中的方法才能够从数据库中获取LOB类型的值。可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。

8、使用SQL92语法调用存储过程
在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。

9、使用Object SQL将对象模式转移到数据库中
既然可以将Oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建Java bean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Java bean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和操作的应用软件也可以使用应用软件中的对象模式。

10、利用SQL完成数据库内的操作
我要向大家介绍的最重要的经验是充分利用SQL的面向集合的方法来解决数据库处理需求,而不是使用Java等过程化的编程语言。如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能

Windows2003中修改注册表防止DDOS(分布式拒绝服务)攻击

1,打开记事本
2,拷贝如下代码


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:1
"TcpMaxPortsExhausted"=dword:5
"TcpMaxHalfOpen"=dword:500
"TcpMaxHalfOpenRetried"=dword:400
"TcpMaxConnectResponseRetransmissions"=dword:2
"TcpMaxDataRetransmissions"=dword:2
"EnablePMTUDiscovery"=dword:0
"KeepAliveTime"=dword:300000
"NoNameReleaseOnDemand"=dword:1
"DefaultTTL"=dword:256
"EnableDeadGWDetect"=dword:0
"DisableIPSourceRouting"=dword:1
"EnableFragmentChecking"=dword:1
"EnableMulticastForwarding"=dword:0
"IPEnableRouter"=dword:0
"EnableAddrMaskReply"=dword:0


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableICMPRedirect"=dword:0
"EnableDynamicBacklog"=dword:1
"MinimumDynamicBacklog"=dword:20
"MaximumDynamicBacklog"=dword:20000
"DynamicBacklogGrowthDelta"=dword:10


3,另存为"anti-ddos_for_win2003.reg"
4,在需要的机器上双击上面的文件,信息会导入注册表

如何在Windows域(活动目录)中批量添加用户

可以使用下面的脚本实现:

C:\>for /f "tokens=1,2,3,4,5,6 delims=," %a in (user.csv) [C1] do dsadd user[C2] "cn=%c[C3] ,ou=%f,[C4] dc=domain,dc=com[C5] " -samid %d[C6] -upn %d@xhf.com[C7] -ln %a[C8] -fn %b[C9] -pwd %e[C10] -disabled yes[C11]

域名是domain.com
[C1]用逗号的方式定义变量
[C2]批量添加用户
[C3]用户名
[C4]选择添加用户的位置 OU
[C5]设置DC DC顺序 xhf.com
[C6]设置登录名
[C7]用户的UPN名
[C8]用户的姓
[C9]名字
[C10]用户的密码
[C11]新建的用户是否被禁用 YES表示禁用

如何禁止用户添加或删除打印机

1.禁止添加打印机
  打开注册表编辑器(开始→运行→输入"Regedit"),找到(或新建)"HKEY_LOCAL_MACHINE\Software Microsoft\Windows\CurrentVersion\PoliciesExplorer"或者HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PoliciesExplorer"中的"NoAddPriter"(REG_DWORD类型)子键,将其值改为0(1为允许该功能)。

2.禁止删除打印机
  打开注册表编辑器,找到(或新建)上述注册表分支中的"NoDeletePriter"(REG_DWORD类型)子键,将其值改为0(1为允许该功能)。

2009年4月3日星期五

用GPRS上网时手机上显示的E标记是什么意思?

我们在用手机使用GPRS上网时,有些手机上会显示一个E图标,这是什么意思呢?

EDGE(Enhanced Data for GSM Evolution,增强型 GSM 演进数据技术)

EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和8PSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。

EDGE的特点

  EDGE是一种能够进一步提高移动数据业务传输速率和从GSM向3G过渡中的重要技术。它在接入业务和网络建设方面所具有以下特性:

  1.在接入业务性能

  (1)带宽得到明显提高,单点接入速率峰值为2Mbit/s,单时隙信道的速率可达到48kbit/s,从而使移动数据业务的传输速率在峰值可以达到384kbit/s,这为移动多媒体业务的实现提供了基础。

  (2)更为精准的网络层提供位置服务。

  2.网络建设方面的特点

  (1)EDGE是一种调制编码技术,它改变了空中接口的速率。

  (2)EDGE的空中信道分配方式、TDMA的帧结构等空中接口特性与GSM相同。

  (3)EDGE不改变GSM或GPRS网的结构,也不引入新的网络单元,只是对BTS进行升级。

  (4)核心网络采用3层模型:业务应用层、通信控制层和通信连接层,各层之间的接口应是标准化的。采用层次化结构可以使呼叫控制与通信连接相对独立,这可充分发挥分组交换网络的优势,使业务量与带宽分配更紧密,尤其适应VoIP业务。

  (5)引入了媒体网关(MGW)。MGW具有STP功能,可以在IP网中实现信令网的组建(需VPN支持)。此外,MGW既是GSM的电路交换业务与PSTN的接口,也是无线接入网(RAN)与3G核心网的接口。

  (6)EDGE的速率高,现有的GSM网络主要采用高斯最小移频键控(GMSK)调 制技术,而EDGE采用了八进制移相键控(8PSK)调制,在移动环境中可以稳定达到384kbit/s,在静止环境中甚至可以达到2Mbit/s,基本 上能够满足各种无线应用的需求。

  (7)EDGE同时支持分组交换和电路交换两种数据传输方式。它支持的分组数据服务 可以实现每时隙高达11.2kbit/s-69.2kbit/s的速率。EDGE可以用28.8kbit/s的速率支持电路交换服务,它支持对称和非对称 两种数据传输,这对于移动设备上网是非常重要的。比如在EDGE系统中,用户可以在下行链路中采用比上行链路更高的速率。