只读SAS视图(双击也是如此)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了只读SAS视图(双击也是如此)相关的知识,希望对你有一定的参考价值。
我们有SAS数据集,许多人都可以访问这些数据集进行读写。很多时候用户点击这些表并打开。表被锁定。为了避免这个问题,我尝试在同一个库中创建视图,如果人们双击它打开的视图表并再次锁定表。
我正在考虑使用access = read only选项在新库中创建视图的一种解决方案。
是否有只读视图选项,在某人双击和表中没有锁定表。是否可以在同一个库中创建此视图。
我还必须在没有SAS / SHARE的环境中处理这个问题。我的解决方案是编写一个定期运行的批处理作业,执行以下操作:
- 将日志转移到文本文件。
- 尝试使用
lock
语句锁定表。 - 如果成功,立即释放锁定。
- 使用数据步骤解析日志文件。
- 提取锁定表的任何人的用户名。
- 发送电子邮件给表的所有用户,通知他们用户X正在锁定它。
对表的更新每个只需要几分之一秒,所以虽然有可能抓住某人进行合法更新(或阻止他们这样做),但这种可能性很小。
我建议最好的方法是创建一个简单的“数据查看器”Web应用程序。如果你有一个中间层和一个存储过程服务器,那么你已经准备好了,如果你有基本的javascript / html知识,它应该只有几个小时。
我在此sgf paper中编写了一个使用SAS构建Web应用程序的详细指南,并在此blog post中进行了快速摘要。
困难的部分将说服您的用户使用Web应用程序而不是客户端工具来读取数据!
从长远来看,最好避免使用SAS数据集并使用实际的数据库。
您可以为同一个库中的这些数据集创建视图,但将它们保存到新的SAS文件夹,并为用户提供对文件夹和视图的只读访问权限。并教育您的用户有关SAS表锁的信息,以便他们看到锁定错误时不会被推迟。
如果您希望用户能够写入这些表,那么我建议您使用控制框架或流程。
示例流程:
- 用户必须提交他们想要添加/编辑的代码或数据,
- 作为管理员,您可以每周或每天批量应用这些更改。
控制框架工作示例:应使用存储过程编辑/写入所有表
- 创建存储进程,在编辑/写入表之前检查表锁,
- 用户将使用SP写入表,
- 如果两个用户同时运行相同的SP:要运行的第二个SP将看到锁定标志并向用户打印一条消息,以便在几分钟内再次运行SP。
以上是关于只读SAS视图(双击也是如此)的主要内容,如果未能解决你的问题,请参考以下文章
eclipse中的程序怎么生成可执行的程序,生成的.jar文件怎么看着是个压缩包,双击也无法运行啊?在线等