Yearly Archives: 2006

复杂的xsl导致asp.net 2出现unhandled exception

win server 2003 + iis6 + asp.net 2.0
最早的提示只有事件查看器里的event id 5000,及系统事件里的app pool崩溃。应用windbg等工具,定位到是 asp.net 2.0里的 XmlCompiledTransform 在load 复杂的 iso转换模板时出现。
只google到几个帖子描述类似问题,大致意思是说 XmlCompiledTransform在处理复杂的xsl时可能有问题。但没有找到解决方案。
已经耗了一下午及一晚上的时间,也没有找到方法。
郁闷之极,在xp本机debug时没有任何问题,部署到正式机器(windows 2003)上就不成。


iso xslt太大,采用了split的方法,将之分割成几个小的,特别是一些代码可以写成 c# class,编译后,通过object extension加载到 xsl里,提高了效率,xsl被压缩到1400行以内,在windows 2003上终于可以运行。

codata会议

06 codata在北京华润开,做了一个英文报告,有关目前在做的西部数据中心,很general的介绍,每个好像是15分钟,超了一点点,不过要讲的东西不少,语速感觉还是蛮快的。前面还感觉比较乱,下来后大家居然说还好,高兴了一阵子。稍后又参加了一个 Workshop的讨论,充分感受了一下老外讨论的气氛。codata总的讲组织的不错,规模和规格也很高,只是学科太杂,至少我是听不懂其它学科的东西,尽管说也是有关数据信息方面的东西。
刚来北京就感冒,要报告的当天上午尤其严重,还以为下午的报告做不了了,让亮子给替讲,那家伙还不干,郁闷。好在睡了一觉后,出了一身汗,感觉舒服了一些。回到兰州居然感冒已经好的差不多了,真是奇怪,是水土不服么,老早感觉这个城市不适合我,这会更没错了,哈哈。

ArcCatalog使用iso元数据标准

为了系统只使用iso标准,ArcCatalog(以下称ac)做为发布端,需要做如下工作:

  1. 关闭fgdc和geo-network同步器。在metata菜单里,使用set working synchronizer命令关闭两者。
  2. 建立一个vba宏,删除xml里的fgdc标签。edn有现成可用的宏,在esri的edn开发网站上搜索 delete FGDC metadata,估计就可以找到。(或向我索要)建立好了,在ac里选择上需要处理的文档,支持宏即好。其实分析一下,就只有几个标签,手工去删除也不难。而且最好能有个自己的工具去批量删除。
  3. 关闭 arcims server上的基于内容的 validation功能,用处不大,那是为metadata explorer设计的,如果不用explorer,这个功能就没多大用处了,而且此功能实质是检查 fgdc标签的内容(或者说iso的内容处在低于fgdc内容的优先级别上)。

车祸? 人祸!

早上坐115公交来办公室,路经张苏滩拐角处,看到停了一辆空的115,围着一群人,第一感觉就是出车祸了。稍过去一点,从某个角度可以看到倒在地上的自行车,以及隐约看到躺在地上的伤者(或死者)。平时从家到办公室只有115可坐,坐过好几次,都是开的飞快。以前看到网络笑话说武汉的公交很牛,开的疯狂(后询问武汉的朋友,真是这样)。我看115可能也不逊色,更为可怕的是所经路线都是人很多,比如张苏滩,是兰州最大的蔬菜批发市场,还经过几个小区和两个学校门口。我曾经给公交部门打过电话反应他们的司机开的太快,很不安全。可是好像没有效果,115还是照样的快。
终于出事故了!
我坐的115司机可能也看到这一幕了,出来前面还是开的飞快,此后到办公室一段终于慢下来了。希望这教训能永远被这些司机们记住。

恢复sql server 2k 数据

1. 新安装sql server 2k+sp4,建named instance,注意位置与被恢复前的位置一致,同样的盘符
2. 打开企业管理器,新建sde, westdc, dnnWestdc三个新库,关闭企业管理器
3. 打开sql 查询分析器,执行
restore database westdc from disk = ‘E:SQL_BACKUPwestdcwestdc_db_200609140200.BAK’

3.1 注意 sde生成时的命名方式是 sde_dat (instead of sde_Data generated by sql svr 2k by default) -> sde.mdf (instead of sde_Data.mdf by default), and sde_Log (same as default) -> sdelog.ldf (instead of sde_Log.ldf by default),所以需要在生成sde时注意修改对应的名字
4. 恢复 model, msdb, pubs三个数据库
restore database model from disk = ‘E:SQL_BACKUPmodelmodel_db_200609210200.BAK’
restore database msdb from disk = ‘e:sql_backupmsdbmsdb_db_200609210200.BAK’
restore database pubs from disk = ‘e:sql_backuppubspubs_db_200609210200.BAK’

5. 恢复master,必须在单用户模式下进行
5.1 停止现有的sql server 服务
5.2 open command window, come to the named instance directory, for example, E:WESTDC-sqldbMSSQL$WESTDCBinn
5.2. run sqlservr -c -m -s WESTDC. WESTDC is the name of instance going to run
5.3 打开sql查询分析器,运行 restore database master from disk = ‘e:sql_backupmastermaster_db_200609210200.BAK’
结果提示:
已成功地还原了 master 数据库。正在关闭 SQL Server。
SQL Server 正在终止此进程。
DONE!

注,如果位置不一致,可以通过detach和attach函数移动数据库(包括用户数据库和pubs, model, msdb, tempdb, master)到新位置,具体操作见微软支持:http://support.microsoft.com/kb/224071/

确认Raid卡的问题

早上将Raid adapter PERC 4/DC拔下,将raid array连到 adaptec scsi卡上,可以正常安装系统。
通知晓东将raid卡发到北京更换。
已经折腾很长时间了,要尽快服务器恢复工作。
别看平时管网络的没啥事,一旦发生问题,都是莫名其妙的问题,都够呛。而且还不能求救于别人,即使微软、DELL的热线,毕竟人不在现场,很难快速定位到问题所在,所以管理员没有一定的技术储备还真搞不定,一有问题就蒙了。

DELL PowerEdge 6850

已经是第4天整这服务器了。
已知的问题:
  1. 启动自检时,Raid卡提示 memory/battery problems were detected,可能要更换raid卡
  2. 重做系统raid时,其中一个scsi disk初始化失败,已做更换
  3. 重装系统,用server assistant启动安装,有时候停住不继续。尚不知道原因,也许跟光驱有关,也许跟Raid卡有关。
  4. 完成server assistant之后,进入windows安装,在复制文件时,很慢,不知道原因,也许跟Raid卡有关
  5. 如何用U盘来模拟A盘?试了几个小时没成功
  6. 如何不用server assistant,直接安装 windows server 2003,加载perc 4/dc 第三方驱动,安装没成功,在进行到某一段后停止,也许跟3、4是同个原因。

郁闷之极!