SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 637|回复: 2
打印 上一主题 下一主题

sas并行读取数据集报错问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-8-6 23:57:27 | 只看该作者

sas并行读取数据集报错问题

现在测试环境上我们首先将源文件转码生成数据集(*.sas7bdat格式文件),然后会有多个作业并行去读取此数据集的内容,append到各个系统的表中。现在的问题是某些作业会出错:ERROR: A 锁定对于 /data/alogo.sas7bdat 不可用,锁定者: 进程 3346。
请教该如何解决?现在全部只对数据集进行读操作,没有其他操作。谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-8-7 07:35:38 | 只看该作者

Re: sas并行读取数据集报错问题

Before you can have access to the shared data set,you should
LOCK it (table level) and use SYSLCKRC to check lock status.
Remember to release it after you are done. Otherwise no body
can put lock on it. Probably you also should have SAS/Share
installed.  Please search SUGI paper for details.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-8-7 12:11:29 | 只看该作者

Re: sas并行读取数据集报错问题

这种情况我在windows环境下测试后发现,两个sas程序同是读取一个数据集,然后向不同的两张表是没有问题的,都正常执行。但在实际测试环境(HP-UNIX),也不是说都会报错,只是偶然有两个程序在读取同一个数据集时会冲突。ERROR: A lock is not available for 123.sas7bdat, lock held by process 3345,根据进程号查询,就是另外一个读取此数据集的sas程序。请问sas在读取一个data set会上锁吗?是否能指定为共享读的方式。另外设置CNTLLEV=MEM 有效没有?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 21:28 , Processed in 0.069154 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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