我的项目

无法启动 Cluster Service 服务-"错误 1067: 进程意外终止"

在经历一次计划外的停电事故后发现群集系统中的一个节点的群集服务无法启动,在启动过程中出现的错误提示如下所示:

 

—————————
群集管理器
—————————
试图启动节点 ‘MIS-02′ 上的群集服务时发生错误。
进程意外终止。
错误 ID: -2147023829 (8007042b)。
—————————
确定
—————————

 

—————————
服务
—————————
在 MIS-02 无法启动 Cluster Service 服务。
错误 1067: 进程意外终止。
—————————
确定
—————————

此次的错误信息与Cluster:群集服务未能从服务器群集配置数据库获得信息,错误代码1726一文中的错误信息相同,却无法通过重启群集节点恢复群集。

同时在检查系统日志时发现在此节点的存在以下错误信息:

ClusDisk 群集服务正在请求设备 \Device\ClusDisk0 的总线重置。

iScsiPrt  Initiator sent a task management command to reset the target. The target name is given in the dump data.
iScsiPrt  Initiator could not find a match for the initiator task tag in the received PDU. Dump data contains the entire iSCSI header.
iScsiPrt  Target did not respond in time for a SCSI request. The CDB is given in the dump data.

ClusSvc 群集服务无法加入现有服务器群集,并且不能形成 新的服务器群集。群集服务已终止。
 
似乎与群集连接的iScsi共享存储相关。
经检查发现是此节点连接存储设备的网线松动,插紧网线,重启此节点后恢复正常。

 

 

最近到Sablog1.6所做的修改,如果你也遇到同样的问题,Ask Me!

对Sablog1.6所做的修改,主要有:

1.将Fckeditor升级到2.6简化版
2.解决Show.php页面的链接无法静态化
3.解决菜单项的显示和定位问题
4.解决FCKeditor编辑器在Chrome中显示的大小不正确

 

 

版本: 56
作者: admin
日期: 1:24:18, 2009年7月3日 星期五
信息:
Fix:暂时禁用自动保存功能,更改时间输入框的大小
—-
已修改 : /release/1.6.b01/templates/admin/article.php
 
版本: 55
作者: admin
日期: 1:22:57, 2009年7月3日 星期五
信息:
Fix:设置文章内容编辑区的大小为400px
—-
已修改 : /release/1.6.b01/admin/editor.php
 
版本: 54
作者: admin
日期: 1:22:02, 2009年7月3日 星期五
信息:
Fix:修复JS文件开头因文件编码有误出现的不可打印字符
—-
已修改 : /release/1.6.b01/admin/editor/editor/dialog/common/fck_dialog_common.js
已修改 : /release/1.6.b01/admin/editor/editor/dialog/fck_codes/fck_codes.js
已修改 : /release/1.6.b01/admin/editor/editor/dialog/fck_flash/fck_flash.js
已修改 : /release/1.6.b01/admin/editor/editor/dialog/fck_image/fck_image.js
已修改 : /release/1.6.b01/admin/editor/editor/dialog/fck_link/fck_link.js
已修改 : /release/1.6.b01/admin/editor/editor/dtd/fck_xhtml10transitional.js
已修改 : /release/1.6.b01/admin/editor/editor/fckdialog.html
已修改 : /release/1.6.b01/admin/editor/editor/js/fckadobeair.js
已修改 : /release/1.6.b01/admin/editor/editor/js/fckeditorcode_gecko.js
已修改 : /release/1.6.b01/admin/editor/editor/js/fckeditorcode_ie.js
已修改 : /release/1.6.b01/admin/editor/editor/lang/zh-cn.js
已修改 : /release/1.6.b01/admin/editor/editor/skins/fck_dialog_ie6.js
 
版本: 53
作者: admin
日期: 1:20:51, 2009年7月3日 星期五
信息:
Fix:解决FCKeditor编辑器在Chrome中显示的大小不正确
    FCKBrowserInfo.IsSafari
—-
已修改 : /release/1.6.b01/admin/editor/editor/fckeditor.html
 
版本: 52
作者: sablog
日期: 1:23:15, 2009年5月11日 星期一
信息:
Fix:解决菜单项的显示和定位问题 3
—-
已修改 : /release/1.6.b01/templates/admin/header.php
 
版本: 51
作者: sablog
日期: 1:08:32, 2009年5月11日 星期一
信息:
Fix:解决菜单项的显示和定位问题
—-
已修改 : /release/1.6.b01/templates/admin/header.php
已修改 : /release/1.6.b01/admin/admincp.php
 
版本: 50
作者: sablog
日期: 0:51:25, 2009年5月11日 星期一
信息:
Fix:中文输入法下的Tab引起页面解析错误(无故多出来的>)
—-
已修改 : /release/1.6.b01/templates/admin/header.php
 
版本: 49
作者: sablog
日期: 0:50:00, 2009年5月11日 星期一
信息:
Fix:解决Show.php页面的链接无法静态化,原因是common.php文件中的正则限制了需要生成静态链接的格式<A href="" [class=""]>。
—-
已修改 : /release/1.6.b01/templates/using/show.php
 
版本: 48
作者: sablog
日期: 23:33:55, 2009年5月10日 星期日
信息:
Release:
2009年5月10日 23时32分08秒
1.更新Fckeditor;
2.新建模板using;
3.管理后台文章显示数量,Fix页面标题显示不完整。
—-
已增加 : /release/1.6.b01 (从路径复制: /code, 版本, 46)
 
版本: 7
作者: sablog
日期: 18:40:18, 2007年6月12日 星期二
信息:
release
用来存放版本发布文件.
—-
已增加 : /release
 
 
 

在非默认浏览器中使用Google桌面搜索

 在Google桌面搜索(Google Desktop)中打开搜索结果是Google Desktop默认使用系统的默认浏览器显示搜索结果,如果需要在Firefox或者Chrome中查看搜索结果则需要将Firefox或者Chrome设置为系统的默认浏览器,但是这对于我来说将系统的默认浏览器设置为非IE却会带来许多不便。

比如:

1.在我的系统中Firefox和Chrome的数据目录都是自定义的而非浏览器默认的“C:\Documents and Settings\Administrator\Local Settings\Application Data”,如果将Firefox或者Chrome设置为系统的默认浏览器,那么Google桌面搜索在打开搜索结果时将在浏览器的默认数据目录位置生成一个配置目录,而无法使用自己最常用的数据目录。

2.影响部分Windows下的开发工具的调试。

介绍一个方便在Firefox或者Chrome中使用Google桌面搜索而不需要改动系统的默认浏览器的方法:
其实就是将Firefox、或者Chrome的主页或者标签栏中加入Google桌面搜索的链接,但是这个链接不是简单的“http://127.0.0.1:4664/”而需要从系统的注册表中获取。

Google桌面搜索的链接的位置在系统注册表的:
[HKEY_USERS\S-1-5-21-2638835196-548441710-1712216176-500\Software\Google\Google Desktop\API
]

S-1-5-21-2638835196-548441710-1712216176-500 是Windows操作系统的Administrator的USID,如果您使用的是其他用户则最后的数字会有所不同。

其中search_url即是Google桌面搜索的链接,将这个链接设置为Firefox或者Chrome的主页即可方便地在您最顺手的浏览器中使用Google桌面搜索了。

 

解决Discuz编辑器在Chrome/Opera/Firefox下的使用问题

在Chrome中使用Discuz编辑器(Discuz6.0,Discuz6.1,Discuz7.0都存在这样的问题)的过程中可能遇到以下两个错误:

1.直接使用Discuz编辑器的所见即所得模式时:
Uncaught TypeError: Cannot call method ‘appendChild’ of /include/javascript/editor.js:129 undefined

2.将Discuz编辑器从代码模式切换到所见即所得模式时(无法切换):
Uncaught TypeError: Cannot call method ‘replace’ of /include/javascript/bbcode.js:387 undefined

第一个错误的出现在editor.js文件中的function setEditorStyle()函数中,解决办法是在
    var headNode = editdoc.getElementsByTagName("head")[0];
    headNode.appendChild(editcss);
中间加入:
    if(!headNode){headNode = editdoc.getElementsByTagName("body")[0];}//by ZZR

第二个错误实际是出现在bbcode.js文件中的function bbcode2html(str)函数中,原因是Chrome、Firefox中对函数的处理有点不一样,函数的最后一个元素是push。解决办法是在:
    re = new RegExp(addslashes(smilies[id]['code']), "g");
的前面加入:
    if(isNaN(parseInt(id))) continue; //by ZZR

想偷懒的朋友,并且Discuz论坛版本为6.0的朋友可以直接下载www.zxlm.cn/fh/中对应的JS文件。

PS:BS一下Discuz的JS开发人员!

最后传一个第一个错误的效果图。

图片附件:
discuz-editor-error-01.png

PDF417二维条形码在公文自动化处理中的应用

PDF417二维条码在公文自动化处理中的应用

摘要  本文介绍PDF417二维条码的编码、译码及纠错的原理和特性。分析目前在公文处理中出现的低效率、可靠性差的现状,阐述PDF417条码在公文处理中的应用,实现公文自动化。
关键词  PDF417;二维条码;编码;译码

1       引 言
二维条码是不依赖计算机网络和数据库存储、转移信息的一种方法,是信息的另一种表示形式,是信息携带、信息自动传递、信息防伪的理想手段。PDF417条码是应用最为成功的一种二维条码,它以其高密度、高信息容量、纠错能力强、成本低等特点,广泛应用于国际贸易、物流、工业、商业等领域,已经取得了巨大的社会效益和经济效益,但在公文处理中比较少。长期以来,我国的公文函件流转一直采用面对面交接、手工登记的传统方式,这种方式,人为因素强,极容易发生错发、漏发等错误,同时,许多相同信息会被反复记录,造成查找和统计的困难,消耗大量的人力和物力,效率很低。本文阐述了PDF417条码在公文处理中的应用,以实现公文自动化处理,提高公文处理效率及可靠性、保密性。

2       PDF417条码结构与特性
2.1    结构
PDF417二维条码是一种堆叠式二维条码,由美国SYMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。每一个PDF码的储存量可高达1,108个汉字,若将数字压缩则可存放至2,729数字字符。 每一个PDF417码是由3~90行,1~30列堆叠而成,而为了扫描方便,其四周皆有静空区,静空区分为水平静空区与垂直静空区,至少应为0.020寸,其结构如图表1所示:A为静空区、B为起始码、C为结束码、D为左标区、E为右标区、F为资料区。

附件:pdf417二维条码在公文自动化处理中的应用.zip(72382 Byte)

SQL Server数据库内容被挂马的处理方法

本方法通过Asp脚本遍历数据库中的所有类型为 char,varchar,nvchar,text 的字段,并通过replace函数替换字段中被插入的JS脚本。

第一步:备份需要处理的数据库;

第二步:找到数据库被挂的马的内容,一般为一小段JS代码如:<script src=http://domain/c.js></script>

第三步:将以下代码保存为clear.asp,并修改其中的参数,再放到IIS中运行即可,自动去掉数据中指定的JS代码。 

ASP/Visual Basic代码
  1. <%   
  2. ’sql数据库连接参数:数据库名(SqlDatabaseName)、用户密码(SqlPassword)、用户名(SqlUsername)、   
  3. ‘连接名(SqlLocalName)(本地用local,外地用IP)   
  4. Const SqlDatabaseName = "数据库名"  
  5. Const SqlUsername = "用户名"  
  6. Const SqlPassword = "密码"  
  7. Const SqlLocalName = "服务器地址"  
  8. Dim ConnStr   
  9. ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"  
  10.   
  11.     On Error Resume Next  
  12.     Set Plus_Conn = Server.CreateObject("ADODB.Connection")   
  13.     Plus_Conn.open ConnStr   
  14.     If Err Then  
  15.         err.Clear   
  16.         Set Plus_Conn = Nothing  
  17.         Response.Write "插件数据库连接出错,请检查连接字串。"‘注释,需要把这几个字翻译成英文。   
  18.         Response.End  
  19.     End If  
  20.   
  21.   
  22. Server.ScriptTimeOut=180   
  23. Set rstSchema = Plus_Conn.OpenSchema(20)   
  24. k=1   
  25. Do Until rstSchema.EOF ‘遍历数据库表   
  26.     If rstSchema("TABLE_TYPE")="TABLE" Then  
  27.         response.write K".<font color=red><b>"&rstSchema("TABLE_NAME") & "</b></font>:" ‘显示表名   
  28.         Set rs=Server.CreateObject("ADODB.Recordset")   
  29.         sql="select * from [" & rstSchema("TABLE_NAME")"]"  
  30.         rs.open sql,Plus_Conn,1,3   
  31.         For i=0 to rs.fields.count-1 ‘遍历表中字段   
  32.            If int(rs(i).Type)=129 or int(rs(i).Type)=130 or int(rs(i).Type)=200 or int(rs(i).Type)=201 or int(rs(i).Type)=202 or int(rs(i).Type)=203 Then‘只处理字段类型为字符型的字段   
  33.             Plus_Conn.execute("update ["&rstSchema("TABLE_NAME")"] set "&rs(i).name" =replace(cast("&rs(i).name" as varchar(8000)),’<script src=http://domain/c.js></script>’,”)")   
  34.             response.write rs(i).name " "&rs(i).Type " "‘显示执行过的字段名。   
  35.           End If  
  36.         Next  
  37.         response.write "<br>"  
  38.     End If  
  39.     rstSchema.MoveNext   
  40.     k=k+1   
  41. Loop  
  42. response.Write "执行成功"  
  43. %>  

文章参考:
数据库内容被挂马的处理办法(在此基础上本文实现了连接数据库的代码)

相关的防止数据库内容挂马的文章:
防范MSSQL数据库被挂马插入JS/sql注入的解决方法
http://www.piaoyi.org/database/MSSQL-guama-js.html

编写Asp.net防注入组件
http://haitao.name/index.php/aspnet/