ユーザーが 1 つまたは 2 つのステートメントを変更できる webfrontend 経由で proc SQL を送信したいと考えています。
Google経由でsascgiを見つけました。しかし、代替手段はありますか?たとえば、すべてを (php を使用して) データベースに書き込み、そのデータベースから読み取った sas スクリプトを何らかの方法で送信することができます。しかし、それは「直接的な」方法よりも一歩多くなります。
別の方法はありますか?
ユーザーが 1 つまたは 2 つのステートメントを変更できる webfrontend 経由で proc SQL を送信したいと考えています。
Google経由でsascgiを見つけました。しかし、代替手段はありますか?たとえば、すべてを (php を使用して) データベースに書き込み、そのデータベースから読み取った sas スクリプトを何らかの方法で送信することができます。しかし、それは「直接的な」方法よりも一歩多くなります。
別の方法はありますか?
はい。最も簡単で最良の方法は、SAS EBI のライセンスを取得し、パラメーター化されたストアド プロセスをセットアップすることです。これができない場合、次の最も簡単で最善の方法は、SAS/Intranet モジュールのライセンスを取得することです。
他の代替手段もありますが、どちらも少しハックです (おそらくセキュリティの脆弱性があるため、Web サイトが外部に面している場合はお勧めしません)。また、セットアップに追加の労力が必要になるという欠点もあります。
Web サーバーが SAS マシンと同じネットワーク上にある場合、Web サーバーに SAS プロセスをリモートで起動させることができます。-sysin
SASコマンド ライン パラメータを使用して、必要な情報を渡します。psexec
Windows 環境では、Microsoft サイトから入手できるダウンロードを使用して、リモート マシンでプロセスを起動できます。ssh
UNIX では、 またはを使用できますrsh
。Web サーバーと 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"
ソケットサーバーを構築します。これに関する記事はたくさんありますが、理論的には、PHP アプリはソケット サーバーと直接通信できます。「sas ソケット サーバー」をググってください。このオプションを選択する場合はsrvany.exe
、Windows で を使用してソケット サーバーをサービスとしてセットアップすることを検討してください。*nix では、プログラムをバックグラウンド タスクとして起動するだけです。
実行している環境の詳細をお知らせください。必要に応じて、この回答を詳しく説明できます。ただし、これで十分に開始できるはずです。