免费注册 查看新帖 |

Chinaunix

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

proc 调用函数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-12 17:05 |只看该作者 |倒序浏览
一台unix的客户机用c调用服务器的函数对一些表进行insert ,update 操作,而客户机本身没有对表没有insert ,update权限,这是否可行?
程序执行函数返回出错值为"ORA-14551: cannot perform a DML operatio" 是否跟权限有关?还是其他问题?

   谢谢!!

论坛徽章:
0
2 [报告]
发表于 2006-10-12 17:29 |只看该作者
无论是客户在什么上,在WINDOWS上都能执行INSERT,UPDATE,只要有权限。你的问题是你调用的服务器函数有没有权限执行这些操作,可能需要预先调用某个服务器函数你应该查清楚。

论坛徽章:
0
3 [报告]
发表于 2006-10-13 08:49 |只看该作者
服务器是其他单位的,我的用户是没有insert update 权限,不知调用函数时否是使用客户端的用户权限?
谢谢!

论坛徽章:
0
4 [报告]
发表于 2006-10-13 09:14 |只看该作者
你用客户端登上服务器,基本就相当于你在服务器上做操作,当然是看你登陆服务器(数据库)的用户是否有权限!

论坛徽章:
0
5 [报告]
发表于 2006-10-13 09:18 |只看该作者
比如说user A 要调用 user B的procedure test,在procedure test中会update,insert 表 table1。
只要user A有execute procedure test privilege,无论user A对表table1有没有insert,update都可以运行这个procedure。这里是要验证procedure的owner对procedure中引用的object是否有相应的insert,update privileges。

论坛徽章:
0
6 [报告]
发表于 2006-10-13 10:12 |只看该作者
函数的owner是有权限的,是不是跟事务有关?

论坛徽章:
0
7 [报告]
发表于 2006-10-13 11:18 |只看该作者
请问 在proc中 除了用select  xx_func(...) into xx  调用函数外,还有什么方法?

论坛徽章:
0
8 [报告]
发表于 2006-10-13 18:51 |只看该作者
请问 在proc中 除了用 select  xx_func(...) into xx  调用函数外,还有什么方法?
如果只有select  方式,函数里面要增加 pagma autonomous_transaction;
是否解决问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP