免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3744 | 回复: 4
打印 上一主题 下一主题

pb8如何连接db2,返回的sqlca.sqlcode好像有问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-23 19:57 |只看该作者 |倒序浏览
我原是从pb+oracle系统更换到pb8+db2的7.1,可是碰到问题一:无pb与db2直接连接库而只能走性能较差的odbc,不能实现直接连接吗?问题二,oracle有丰富的函数及灵活的查询语句,如nvl(x,0),当x为空时变成0,不知db2中如何实现(不要用case ,否则语句不易读),问题三,每一个数据库当然包括最成熟的orack中查询删除失败的sqlca.sqlcode是-1,可是在db2中对没有找到符合条件数据的删除竟然返回是-1,而这在其他所有数据库中是0,另外,即使在update command options using w OFF等处理后,sqlca.sqldbcode正确了,sqlca.sqlcode还是不对! 何故???我还没体会到db2比oracle好在哪,不知以上问题有高手能解答吗?

论坛徽章:
0
2 [报告]
发表于 2003-07-24 09:23 |只看该作者

pb8如何连接db2,返回的sqlca.sqlcode好像有问题?

1.pb和db2通过odbc连接是一个db2的驱动程序,好像oracle也是吧,不知道你所指的直接连接是什么概念。
2.db2 和nvl相当的函数是coalesce。
3.不知道你所谓的查询删除失败是什么感念,针对每一条发向数据库的指令都有一个相应的sqlca.sqlcode ,还需要特殊的查询吗?这好像在每个数据库都是一样的。其中有三类典型的值,即:执行正确,执行遇到错误,警告,没找到记录。
在db2中:sqlca.sqlcode在执行正确是0,没找到记录是100,错误是小于0的数,有很多了,这要看你是否有特殊的处理了。其它的数是警告。你可以根据你的程序逻辑进行不同的处理。
你上面遇到问题,一定是你的程序有问题。一个数据库如果有这样的缺陷,可能吗?

论坛徽章:
0
3 [报告]
发表于 2003-07-24 20:28 |只看该作者

pb8如何连接db2,返回的sqlca.sqlcode好像有问题?

1. 楼上兄似乎不相信oracle能与pb直接连接,我可以做到不安装客户端也不安装odbc而只需oracle的bin目录下几个文件即可直接连接!db2中我怎么也没有试验成功,而且pb只带与其他各大数据库(几乎所有)的直接接口,独独没有db2,为什么?为什么?
    2.如果你不相信sqlca.sqlcode有问题,你可以delete table where 条件,如果此表是空表,那么准报错-1 ,没有数据满足条件 , 而用sqlca.sqldbcode却是正确的,呜呼,你可以试一下就知道俺说得是否对了,你可以再试一下!

  3.coalesce如你所说,在此谢谢了.

论坛徽章:
0
4 [报告]
发表于 2003-07-25 10:50 |只看该作者

pb8如何连接db2,返回的sqlca.sqlcode好像有问题?

1. 只需oracle的bin目录下几个文件。如果您能不安装。。。。。
2.从来没有遇到过。有各种平台的db2,程序开发工具有pb,delphi,java,c(unix)。
测试例子:
db2 =>; delete from test2
SQL0100W  No row was found for FETCH, UPDATE or DELETE; or the result of a
query is an empty table.  SQLSTATE=02000

论坛徽章:
0
5 [报告]
发表于 2003-07-25 21:03 |只看该作者

pb8如何连接db2,返回的sqlca.sqlcode好像有问题?

楼上用的是db2的extend udb 7.1吗?
我在pb的数据库画板中: DELETE FROM TEMP32  ;
返回:
Error 0001 C0195 NO DATA WAS FOUND TO SATISFY THE REQUEST.
在程序中写此sql,得sqlca.sqlcode = -1 ,但sqlca.sqldbcode =0;
我用的pb9.0,你在我同样的环境中试一下!看看db2出不出洋相    ,出错信息正是楼上在db2命令行输入后出现的那段话,难道这还不算报错?我对所有sqlca.sqlcode=-1 即显示执行有错误,并中止返回,这些操作应不要返回任何东西才对,并使sqlca.sqlcode=0.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP