2006年11月2日星期四

pbcat...是pb建立的系统表

当PowerBuilder第一次连接SQL Server时,它要在用户数据库中建立它的扩展属性数据字典,一共有五个以“pbcat"为前缀的表,它们分别是:pbcatcol(字段), pbcatedt(编辑风格),pbcatfmt(格式),pbcattbl(表),和pbcatVld(规则)。这就是所谓的PowerBuilder 系统表,当你在DB Painter中增加或者删除表字段时,相应地在pbcatcol和pbcattbl表中有一条相关记录手插入或删除。如果增加扩展属性,那么在 pbcatfmt,pbcatvld和pbcatedt表中,会建立相应的记录。

解决mysql odbc connector找不到pbcattbl表的错误

最近几天用pb(powerbuilder)作前台,与mysql数据库使用mysql odbc connector连接
当时懒,没有重新建一个数据库或者用户,直接用root账户登陆test数据库
结果在pb中打开sql的时候就会出现以下错误提示:

SQLSTATE = S0002
[MySQL][ODBC 3.51 Driver][mysqld-4.0.12-nt] Table 'root.pbcattbl' doesn't exist.

另外在数据窗口中不能编辑从数据库中提取数据的控件——只要选中该控件,立刻出现内存只读错误,并退出pb

我在google上没有找到中文的相关问题解决方案,甚至没有人讨论这个问题
E文文章倒是有提出的,可是解答得乱七八糟,我看了几篇都没什么帮助

仔细看数据库中的现有表,发现存在一个test.pbcattbl的表
后来考虑root.pbcattbl因该是在root数据库下需要一个pbcattbl表,那么这个驱动程序为什么会需要在这样一个位置寻找表呢?我的服务器中根本没有名为root的数据库,而这个数据库的名字又刚好和我的登陆用户名一致,因此我怀疑这个驱动程序可能是寻找这样一个表:与当前登陆用户同名的数据库中,需要有一个名为pbcattbl的表

因此我重新建立一个用户test,并把pb中的连结和登陆数据库的用户全部改为test

当前问题解决

仍然不理解的是,这个表内容是空的,我不明白pbcattbl表是做什么用
由该表导出的SQL语句如下:

DROP TABLE IF EXISTS `test`.`pbcattbl`;
CREATE TABLE `test`.`pbcattbl` (
`pbt_tnam` char(65) NOT NULL,
`pbt_tid` int(11) default NULL,
`pbt_ownr` char(65) NOT NULL,
`pbd_fhgt` smallint(6) default NULL,
`pbd_fwgt` smallint(6) default NULL,
`pbd_fitl` char(1) default NULL,
`pbd_funl` char(1) default NULL,
`pbd_fchr` smallint(6) default NULL,
`pbd_fptc` smallint(6) default NULL,
`pbd_ffce` char(18) default NULL,
`pbh_fhgt` smallint(6) default NULL,
`pbh_fwgt` smallint(6) default NULL,
`pbh_fitl` char(1) default NULL,
`pbh_funl` char(1) default NULL,
`pbh_fchr` smallint(6) default NULL,
`pbh_fptc` smallint(6) default NULL,
`pbh_ffce` char(18) default NULL,
`pbl_fhgt` smallint(6) default NULL,
`pbl_fwgt` smallint(6) default NULL,
`pbl_fitl` char(1) default NULL,
`pbl_funl` char(1) default NULL,
`pbl_fchr` smallint(6) default NULL,
`pbl_fptc` smallint(6) default NULL,
`pbl_ffce` char(18) default NULL,
`pbt_cmnt` varchar(254) default NULL,
UNIQUE KEY `pbcatt_x` (`pbt_tnam`,`pbt_ownr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


看各列名字,貌似用来存储和管理本库中用户信息的……

2006年10月31日星期二

检讨

已经离开linux世界很长时间了,windows现在主导了我的生活
我对这个东西实在没什么好感,而且长年感觉十分不安全
泛滥的病毒让我虽是觉得会被攻击
危险的IE让我之感在迫不得已的情况下才偶尔使用
随时内存出错,随时可能中病毒……
不过,又没有办法完全甩开,所以,只好暂时将就吧

程序也很久不写了,用pb写点小东西简直就是开玩笑
现在对编程也没什么热情,整天只捉摸着怎么赚钱
我仍然不认为自己已经被金钱奴役,相反,只是我继续奴役金钱而已

2006年10月25日星期三

2006年10月19日星期四

CG post

  Posted by Picasa

一个有抱抱的大团圆结局的故事

从前呢在很冷的房子里有个老太太,养了一群狗狗,其中有一个很可怜,只有很稀疏的毛,大眼睛下面还有一颗泪痣。其它狗狗总欺负他,连房梁上跑的老鼠都不怕他。有一天,他自己一个人躲在墙角边发抖边努力睡着,一只被着大口袋的小老鼠从他身边走过。小老鼠把口袋里最大的棒棒糖分给了狗狗,这是狗狗第一次吃糖。小老鼠说,你可是个狗狗啊,力气那么大,一定很厉害!狗狗并不这么觉得,可是他喜欢小老鼠信任他。屋子里面太冷了,小老鼠冻坏了,狗狗很心疼地走过去,把肚子上最软最热的地方给小老鼠当床,把脖子下面毛最软的地方给小老鼠作枕头。月光晒在他们身上,很暖。小老鼠很喜欢这个礼物,她对狗狗说,这是我一个人的地方,你是我的狗狗,不许你这样对别人好!狗狗心跳得很快,小老鼠听着心跳声,放心地睡了。有一天,狗狗突然离开了,小老鼠伤心极了,她明知道狗狗的心跳是真的,也知道狗狗一定会回来,因为那个抱抱是她的,可她还是难过。
小老鼠爬到窗台上,对月亮念着狗狗我爱你。窗外雪地上有一串脚印,脚印的尽头是狗狗饥肠碌碌地走着。他听说,有一座山里有一堆大蟒蛇的骨头。大蟒蛇生前守这一个温泉,温泉旁边长着山里唯一的四季果树。他要找到这个地方,然后他要带着这些甜甜的果子给小老鼠,给她吃一辈子。
狗狗走了好多天,每天只能吃到一小点冰雪里的草叶。狗狗生病了,每天夜里心口都疼得厉害。他想回去,他不知道怎么了,他想自己快死了。他拼命挣扎回去,在床根下,他听到小老鼠的哭泣,终于明白自己为什么病了。他想回去,屋子里至少比外面暖得多,何况还有小老鼠,可是他还是又进山了,他怕自己以后再也没勇气离开了,小老鼠就吃不到四季果了。
一个月后,狗狗终于回来了,他什么都没带回来。小老鼠终于又能躺在狗狗怀里了。她问狗狗,你没找到那个地方?狗狗说,我不找了。为什么?因为我发现,你是我的四季果,我是你的大蟒蛇,而我们的抱抱就是最暖的温泉。你在我最痛苦的时候让我依靠,哪怕你知道我在犯错,所以我知道,你值得我用一生守护,直到变成白骨。亲爱的,嫁给我吧!

zzzzZZZZ

zzzzZZZZ