2015年第一篇,首先祝本博客读者们新年快乐,虽然元旦已经过去好几天了。

最近遇到一个问题(以前就遇到,但没仔细研究解决):用PB7.0连接Sybase ASE,直接用isql用sql语句操作数据库表一切正常,但从DB profile->SYC Adaptive Server Enterprise->[数据库名]->Tables,点击具体表时总是提示:“store procedure sp_pb70table not found”。

查了一下找到13年前的一篇文章,http://bbs.csdn.net/topics/10020881,从pb7安装目录下的Server目录,将两个sql文件内容通过isql在服务器上操作,结果问题解决。

这段时间一直挠头的一个问题也一并解决:用pb连接数据库,用isql检索数据并通过将数据窗口打开后,save changes以及update都是灰的,无法点击,数据窗口的数据也没办法编辑。

老外也遇到过类似问题:

Unable to Update Data in Database Painter

回答者引到主键上去,没解决问题。

为了解决这个问题,之前一直把思路放在服务器设置上,把ASE服务器各个设置几乎翻了个遍,大的思路没问题,但细节了解不足。看来pb & Sybase ase这类老家伙思路确实与现在的软件差别较大,理念上有差别。

综合来看,pb本地对ASE服务器数据的检索查询是独立的,使用sql语句即可;但编辑和导入数据的功能,严格依赖在ASE服务器上建立的相关存储过程,这些存储过程一般存储在pb对应的安装根目录Server目录下。