CDATAにSAS.ds対応が来た! その2
はい、しつこすぎて直接ベータバージョンを送ってもらいました。
SAS Data Sets FireDAC Componentsについてのレビューは本家CDATA以外では唯一ではないかと(2021/6/11現在)
早速インストール、フォームに必要なコンポーネントをペタペタ貼り付けて検証しました。
検証内容がすごいボリュームになってしまったので結論をば。
- ODBC設定したり、SAS側でなにか設定したり一切していませんが、アクセスできました。OLEで接続を試した時以来のプチ感動。(みんな大好きSASHELP.CLASS)
- SELECT、INSERT は大丈夫そう(JOINとか集約関数まだ試してない)
- update、deleteは動かない(はっきり言ってこれが致命的)
- パスワード付きデータセットはパスワードが無視される(
考えようによっては) - 暗号化データセットは読めない(コマッタ)
- 圧縮データセットも読めない(コマッタ)
- SASデータセットにおける変数属性は取得できない(メタデータを別に作成しておく必要あり)
- CREATE TABLEはwlatin1固定なので困る(バグなのか)
- CREATEされたデータセットはWin8 64bit、SAS9.4 M2で作成されたことになってる(多分開発バージョンがこれなんだろうなぁ、と)
- テーブル名がcase sensitiveなので、大文字小文字揃えないと正しく認識しない(まじかよ)
- DROP TABLEすると、空ファイルになり、SASで処理できなくなる。(データセットがDatabaseのように見立てると、table削除でそうなるのも理解できそう)
構築手順、それぞれの補足、解説は追って記事にする予定です。
FortiGateでIPSecVPN越しのsyslogサーバを指定する(GUI&CUI併用)
自拠点のFortiGateのログをIPSecVPNで接続したリモート環境にあるサーバに転送してみました。
(IPSecVPNが確立されていることが前提です)
FortiGateとサーバの接続は以下のような状況です
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ FortiGate │────────────── │ FortiGate │───────────────│ QNAP │ │ (SiteA) │ IPSecVPN │ (SiteB) │ LAN │ syslogServer │ │ 172.24.0.254 │ │ 192.168.1.1 │ │ 192.168.1.10 │ └──────────────┘ └──────────────┘ └──────────────┘続きを読む
SAS UNICODE版での注意
よくUnicodeデータセットを読むときには、libnameステートメントでcvpオプションを指定して文字列サイズを拡張する必要がある、なんて言いますけど、別のエラーにぶち当たりました。
以下のコードはSAS日本語版で実行できるものです
data _null_; a='28apr2021'd; put a yymmdd10.; put a jdateymd14.; put a jnengo16.; run;
2021/4/28を3種類のフォーマットで出力しています。
結果は以下のとおりです。
これを、SAS Unicode版で実行するとどうなるでしょうか。
エラーになりました。
幅が無効って言われちゃってます。
コメントアウトして実行してみると…
今度はjnengoフォーマットで「日」が出力されていません
これはちゃんと理由があって、日本語、つまりいわゆるダブルバイト文字は1文字2バイトというのが今までの常識でした。
しかしUNICODEでは、1文字3バイト(一部4バイト)のため、フォーマットの長さも変更する必要があります。
具体的には以下のように
jdateymdは年月日の3文字が含まれているため、3バイトを増やした17.に、
jnengoは年号、年月日の5文字が含まれているため、5バイト増やした21.にします。
data _null_; a='28apr2021'd; put a yymmdd10.; put a jdateymd17.; put a jnengo21.; run;
これで正しく出力されました。
移行した後にjdateymdのようにエラーで止まってくれればいいんですが、jnengoのように、尻切れのようになってしまうと怖いですね。
SAS Software Depotの罠
SASをインストールする際、現在ではSAS Software Depotというものを使ってインストールすることが多くなりました。
以前はCDを10枚以上入れ替えたりしていたことを考えると、大変楽チンです。
SASのインストールディスクについては、メディアを希望すればDVDメディアが、ダウンロード形式を希望すればESD(ESD:Electronic Software Delivery)形式で入手することができます。
このダウンロード形式はメディア管理も不要でいきなりSoftware Depotの形式になるので扱いやすいのですが、罠が仕掛けられているので注意が必要です。(最近になってダウンロード回数制限が追加されたようです。M7だけなのか、M6以前も含めた全体でなのかは分かりませんが)
続きを読む