VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 39|回复: 4

datawindow竟然不支持dblink表的更新!!!

[复制链接]

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2020-1-28 14:40:01 | 显示全部楼层 |阅读模式
我在远程库上有一个表,用dblink访问的,用datawindow取数据是可以的(DW SQL:select * from mytable@mydblink),但是更新时(调用update()),就报datawindow does NOT have UPDATE capability!我已经在Update properties菜单里设置好了呀!

请诸位大哥救命啊 谢谢
回复

使用道具 举报

0

主题

4

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-3-3 13:30:01 | 显示全部楼层
那应该不是datawindow的问题,其实datawindow的提交机制是很清楚很简单的,
你去检查一下datawindow提交的sql语句,可能这个sql语句,本身不受dblink的支持,
或者你的dblink定义的方式就无法有更新功能。
回复

使用道具 举报

0

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-4-6 22:15:01 | 显示全部楼层
应该是可以的阿
回复

使用道具 举报

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2020-6-4 12:15:01 | 显示全部楼层
各种方法都试过了,还是不行!

可能pb会去读表的元数据,通过dblink读不到吧?
回复

使用道具 举报

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2020-8-4 15:15:01 | 显示全部楼层
问题解决了,还是PB的bug!总结如下:

Datawindow通过DB-LINK不能更新表问题已解决:在本地建同义词指向DB-LINK表。
分析:因为Datawindow不能识别表名中的'@'符号,在设计时Rows->Update Properties对话框里,选择要更新的表及字段,若表名中含有@,保存时报“找不到表”已经说明了这一点。因此,可在详单库上建立同名同义词解决Datawindow更新问题,因为实际上Datawindow处理表名是透明的(生成提交数据库的SQL语句),只是认为'@'是特殊符号,无法识别表名而已。
限制:由于PB对同义词支持不好,对一个SELECT同义词表的DataWindow,不要打开SQL画板,否则IDE崩溃,因此要改SQL语句,使用Edit Source。

再次谢谢各位!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表