0%

单位的某一个业务系统用到了DynamiCube组件,很多客户端的IE浏览器都无法正常下载并注册DynamiCube组件,导致页面无法正常显示。手工拷贝DCube3.cab到客户端并解出Dcube3.ocx,然后regsvr32 Dcube3.ocx会有错误提示“LoadLibrary(“DCube3.ocx”) 失败 - 内存分配访问无效”,英文的错误提示是“LoadLibrary(dcube3.ocx”) failed - Invalid Access to Memory Location”。其实这是因为Dcube3.ocx受到DEP(Data Eexcute Protection)阻止造成的。解决办法也很简单,先禁止DEP,然后注册Dcube3.ocx,然后再打开DEP即可。

XP SP3可以这样关闭DEP,打开boot.ini文件,将/noexecute的值改为AlwaysOff或者将/noexecute及等号后的值一起改为/execute,保存重启系统即可。

windows 2003 R2做oracle数据库冷备份恢复时遇到路径依赖问题,原库oracle安装在F分区,而恢复到的oracle安装在E分区。两边数据库的版本是完全一致的,除了安装路径不同,sid实例名都为orcl。停下服务器后,把原库的控制文件、数据文件、联机日志文件(online redo files)、初始化参数文件(spfile)、密码文件拷贝到了新库安装目录。如果数据库运行于归档模式,还应单独备份归档日志文件。实际上为了省事,把oracle的安装目录整个同步了一遍。拷贝完后oracle服务无法启动,无法启动就对了。这些关键文件的路径都变了,库肯定是打不开了。怎么办?

两个方法,一是重新安装oracle使其路径与原库一致,二是修改关键文件的路径。第一种没啥意思,就第二种吧。

因为机器名字不同了,所以要打开\oracle\ora92\network\admin下面的几个文件tnsnames.ora、snmp_ro.ora和listener.ora把里面的机器名改成正确的值,snmp_ro.ora和listener.ora文件里面的文件路径改为正确的值。

参数文件里面记录了控制文件的路径,要把这些路径更改过来。oracle 9i默认是使用spfile的,而spfile是二进制的,最好不要直接修改,导出pfile,修改控制文件路径后再导回去就ok了

Read more »

项目目录结构的问题基本上是个仁者见仁,智者见智的问题,只要自己用着顺手,使用什么样的目录组织结构是没有什么大碍的。当然如果项目很大,参与的人员很多,那么合理的组织一下目录结构还是会有很大的益处的。不同类型的项目也会有不同的目录结构,这里简单的展示一下我所使用的C++项目的基本目录结构。

project —+—build—+—debug
          —release
     —dist
     —doc
     —include—+—module1
           —module2
     —lib
     —module1
     —module2
     —res
     —samples—+—sample1
           —sample2
     —tools
     —copyleft
     —Makefile
     —README
     — …

Read more »

昨晚在Ubuntu 10.04(Lucid Lynx) AMD64上面设置ATI Mobile Readon 3470硬解加速成功,mplayer播放高清视频时CPU占有率大大降低,大约只有原来的1/10。使用Ubuntu 9.10时也曾经试图硬解,但没成功。具体设置/安装方法记叙如下。

首先A卡要支持UVD(Unified Video Decoder),比较新的显卡应该都是支持到UVD2的,另外Lucid自带的ATI驱动在我的机器上不支持UVD功能。
cat /var/log/Xorg.0.log grep UVD
如果输出如下字样
(II) fglrx(0): UVD2 feature is available
则表明支持驱动UVD特性
我的卡子在未安装ATI官方最新驱动ATI Catalyst Display Driver 10.4以前是不支持UVD2的。ATI驱动如何安装请参考ATI官方文档。

Read more »

en_US.UTF-8环境下luna-applet默认用拼音来显示农历,可以把 /usr/share/locale/zh_CN/LC_MESSAGES/liblunar.mo 复制到/usr/share/locale/en/LC_MESSAGES/ 下即可让lunar-applet在英文环境下用汉字来显示农历。

During initialization, the Windows I/O manager starts the disk storage drivers. Storage drivers in Windows follow a class/port/miniport architecture, in which Microsoft supplies a storage class driver that implements functionality common to all storage devices and a storage port driver that implements functionality common to a particular bus—such as a Small Computer System Interface (SCSI) bus or an Integrated Device Electronics (IDE) system—and OEMs supply miniport drivers that plug into the port driver to interface Windows to a particular controller implementation.

系统初始化期间,windows I/O管理器开始装载磁盘存储驱动.windows中的存储驱动遵循类/端口/小端口(class/port/miniport)架构,MS提供一个存储类驱动实现与具体设备无关的、所有存储设备共同的功能特性和一个存储端口驱动实现一类特殊总线共同的功能—比如SCSI(Small Computer System Interface)总线或者IDE(Integrated Device Electronics)总线—然后OEM(Original Equipment Manufacturer)制造商提供挂接到端口驱动的小端口驱动来为windows提供到一个特殊控制器实现的访问接口。

-–译自《windows internals》(5th)

这三个东西都是用来支持主机与外围SCSI或ATAPI接口存储设备通讯的编程接口。ASPI(Advanced SCSI Programming Interface)是由存储领域大名鼎鼎的Adaptec于1990年代初期开发的,最初是为了支持SCSI驱动器,后来加入了ATAPI驱动器的支持。MS获取授权在windows 9x系列使用这个开发接口。后来MS在NT系列开发了自己的接口,这就是SPTI(SCSI Pass Through Interface)用以取代ASPI。NT系统默认是没有安装ASPI驱动的,不过有些存储应用程序还在使用ASPI接口,可以从Adaptec下载此驱动安装。而SPTD则是由Duplex Secure Ltd.开发的同类接口。

此外,Nero也开发了自己的ASPI驱动。其他比较有名的还有ASAPI等。

一台xp系统机器,无法上网浏览, ping本地私有地址和外部公有地址都通,但是ping命令输出出现问号并伴随一声蜂鸣。输出类似如下:

ping ? 192.168.1.1 with 32 bytes of data:
reply from 192.168.1.1: bytes=32 time <10 ttl=64
reply from 192.168.1.1: bytes=32 time <10 ttl=64
reply from 192.168.1.1: bytes=32 time <10 ttl=64

卸载网卡驱动,重新安装故障依旧。交换机及网线确认无问题,执行如下命令
netsh winsock reset
重置winsock组件,问题解决,应该是恶意软件或插件所为。

firefox 3.6带套上youtube(一定要代理*.youtube.com,只代理www.youtube.com是不可以的),首页页面显示混乱,打不开视频,随便点击一个视频连接,出现提示“Hello, you either have JavaScript turned off or an old version of Adobe’s Flash Player. Get the latest Flash player.” flash版本不够新云云。如果更新了adobe flash player并且打开了JavaScript还是无法观看,请将这个网址ytimg.com一并加入tor代理网络,应该就可以正常观看了。不是火狐的问题,也不是洋葱的问题,都是该死的Great Fucking Wall的问题。郁闷了很久…