标题: sas并行读取数据集报错问题 [打印本页] 作者: shiyiming 时间: 2009-8-6 23:57 标题: sas并行读取数据集报错问题 现在测试环境上我们首先将源文件转码生成数据集(*.sas7bdat格式文件),然后会有多个作业并行去读取此数据集的内容,append到各个系统的表中。现在的问题是某些作业会出错:ERROR: A 锁定对于 /data/alogo.sas7bdat 不可用,锁定者: 进程 3346。
请教该如何解决?现在全部只对数据集进行读操作,没有其他操作。谢谢!作者: shiyiming 时间: 2009-8-7 07:35 标题: 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.作者: shiyiming 时间: 2009-8-7 12:11 标题: 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 有效没有?