3

我想通过 webfrontend 提交一个 proc SQL,用户可以在其中修改 1 或 2 个语句。

我通过谷歌找到了 sascgi。但有其他选择吗?例如,我可以将所有内容写入数据库(使用 php),然后以某种方式提交从该数据库读取的 sas 脚本。但这将比“直接”方式多一步。

还有其他方法吗?

4

1 回答 1

2

是的。最简单和最好的方法是获得 SAS EBI 许可并设置参数化存储过程。如果这不是一个选项,那么下一个最简单/最好的方法是许可 SAS/Intranet 模块。

还有其他替代方案,但它们都有点像黑客(并且可能存在安全漏洞,所以如果您的网站面向外部,我不推荐)。它们也有需要额外努力设置的缺点。

  1. 如果您的网络服务器与您的 SAS 机器位于同一网络上,您可以让网络服务器远程启动 SAS 进程。使用 SAS-sysin命令行参数传入您需要的信息。在 Windows 环境中,您可以在远程计算机上启动一个进程,使用psexec该进程可通过 Microsoft 站点下载。在 UNIX 中,您可以使用sshrsh。如果您的网络服务器和 SAS 服务器是同一台机器,那么只需使用 PHP 启动系统进程。

    psexec.exe -u DOMAIN\username -p password -w d:\working_folder \\computer_with_sas d:\batchfile.bat "parameters to pass in via SAS -sysin option"

  2. 构建一个套接字服务器。有很多关于这方面的文章,理论上 PHP 应用程序可以直接与套接字服务器通信。只是谷歌'sas套接字服务器'。如果您选择此选项,请考虑srvany.exe在 Windows 中使用将您的套接字服务器设置为服务。在 *nix 中,您可以将程序作为后台任务启动。

让我知道有关您正在运行的环境的更多详细信息,如有必要,我可以扩展此答案。不过,这应该给你足够的开始。

于 2012-11-19T19:36:06.427 回答