今天把两年前写的一个功能(c++/solaris/sybase/corba)拿出来,结果编译不通过;费了九牛二虎之力,下班前终于编译过了,不过还是有点问题.
首先,因为要验证一个问题,想到了还有这个环境,所以就拿出来想跑;一开始编译,发现了IDL: 不认识 -Gv的选项;然后就找阿找,又把备份的找出来替换进行编译,还是不行;实在没有办法了,找到其他兄弟的环境,实际进行了一对比,原来是少了几个文件,而且备份的版本都是少文件的.
替换后终于这关过了,但是一编译,发现又找不到sybase的52.so库了,又进行了对比,原来是刚刚借回来的版本是新的,我那个是老的,现在就已经升级到63了.
接下来就是狂修改make文件,也是先前设计不好,否则一个地方修改就好了.
终于编译过了,启动又有问题;sybase 的database suspect了.在网上找了几个文章,尝试做了恢复,都不行;后来就在sys的两个表中删除了.同时把其他几个N年的database一并删除.
下一步就是重新创建database;输入create database on default=1,第一个库OK,第二个总是失败,提示空间不足;因为是缺省的,所以都是在master下创建的.又仔细回忆了2年前创建库的过程,还有借鉴了网上和sybase的一些资料.想起来,是设备没有指定,先前的两个库都是挂在刚刚删除那几个俄设备上的,刚刚一删,都删没了;创建时候都是用master,空间只有30M,所以可能是空间不足,创建失败了.
接下来重新创建了device,创建库的时候指定了新创建的设备,然后OK,搞定!
但是create table还有问题,我在程序中创建的,命令执行成功,但是isql一看,就是没有表;但是马上下班了,只好下周一再打点trace或是dbx调试跟踪一下再解决巴.
小小总结一把:
1/环境我是动过的,但是disk空间不足,删除了一些文件,可能把几个三方库文件删除了,导致编译问题.
2/sysbase suspect问题我估计是设备号的问题,估计是几个库的号重复了,但是时间紧迫,我没有详细验证,error号码好像是952。
3/一点总结:环境还是要自己爱护,备份也要做好,免得用的时候找不到或是环境破坏了,干着急没用。