Teradataの読み書きで日本語の文字列が化けた場合、まずはココを点検という箇所を紹介します。 Teradata Clientのインストールガイドの中に、"Enable Support for Non-ASCII Character Sets"という項目があります。これを行っていないことがままあります。
詳しい設定は、Teradata Clientの設定ガイドを読んでください。設定項目のキーワードを挙げると、clispb.datの charset_type=、charset_id=を設定し、環境変数COPLIBを定義してください。典型例はcharset_type=N, charset_id=KANJISJIS_0Sです。
SASのWhite Paperはコチラです。
http://support.sas.com/resources/papers/proceedings17/0433-2017.pdf
ちなみに Clispb.datは Teradata Call-Level Interface version 2 System Parameter Block の略だそうです。
SASプログラムとログを解析するユーティリティを開発するための備忘録です。This is a memo to develop utility that analyzes the SAS log.
2017年6月29日木曜日
PowerShellでSAS.EXEを停止する。
PowerShellを運用スクリプトの問い合せが少し増えてきました。
バッチ実行しているSAS.EXE処理を見つけて、プロセスの情報を表示するサンプルです。
Get-Processの部分を書き換えれば、プロセスを停止できます。
PS C:\Users\sas> $X=WMIC PROCESS WHERE "CommandLine LIKE '%sas.exe -nodms -batch%' and caption = 'sas.exe'" GET /FORMAT:LIST | select-string "^ProcessId=" | % { $($_ -split"=")[1] } PS C:\Users\sas> $X | Foreach-object -process{Get-Process -id "$_" } Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 126 10 3644 10784 99 0.05 28172 sas PS C:\Users\sas>
2017年6月27日火曜日
Data Integration Studio + SVN, アーカイブ済みのSASパッケージをインポート
SVNにジョブをアーカイブしたら、取り出すほうもやってみましょう。ファイルのメニューから「アーカイブ済みのSASパッケージ」を選択します。
アーカイブ済みのSASパッケージが一覧で表示されます。
試しに古いバージョンのパッケージ名を選んで、インポートボタンを押します。ここから先は、SPKファイルのインポートと同じです。下の絵だと既にオブジェクトがあるのでびっくりマークが付いています。
これでジョブのダイアグラムを確認すると、前に保存したバージョンに戻っていることが分かります。いまいち、リビジョン管理のツールを使っている気がしないのは、チェックアウト、ロック、チェックインといった操作がないからと思います。
PROC SQLのPass-Through構文で、ライブラリ参照名のユーザ、パスワードを使う
昔、パススルー構文でデータベースに接続するときにユーザ名とパスワードを書くのが管理上困った記憶があります。ふと調べてたらSAS9.3からCONNECT USINGというキーワードが追加され、ユーザ名とパスワードを埋め込まなくても済むことが分かりました。
参照した記事は コチラ です。
調べたのはSAS9.1.3を使っていた頃でかなり昔のことです。お客様に「回避策無しで、PW埋め込んでください」とお願いしなくて済むのが良いです。
参照した記事は コチラ です。
調べたのはSAS9.1.3を使っていた頃でかなり昔のことです。お客様に「回避策無しで、PW埋め込んでください」とお願いしなくて済むのが良いです。
2017年6月8日木曜日
Data Integration Studio + SVN, SASパッケージとしてアーカイブ
昨日はSVNプラグインの設定、今日はSVNのリポジトリにジョブを登録します。
パッケージ(SPK)の形式でエクスポートするダイアログでるので、そのまま進みます。
そのまま進んでエクスポートの処理が正常終了するのを確認します。
パッケージの一覧の画面が表示されます。表示のフィルターには、いまのジョブの名前が設定されています。
フィルターを外すと、保存されている全てのパッケージが表示されます。なんか、チェックイン/チェックアウトの操作とずれている気がします。バージョン番号は何故か2ずつカウントアップされています。下の図をみるとわかりますが、バージョン番号はパッケージ名ごとに連番で振られていません。全てのパッケージで連番になっています。私がRCSから時間が止まっているせいなのか、なんだか釈然としません。
Assemblaの方から確認すれば、Recent Eventの一覧にアーカイブした操作が記録されていることがわかります。次はアーカイブから取り出す操作です。
1. DIでジョブを作成
ジョブを作成して、実行した後で保存します。
2. SASパッケージとしてアーカイブ
そのまま進んでエクスポートの処理が正常終了するのを確認します。
3. SVNに保存したSASパッケージを確認
ファイルメニューからアーカイブ済みSASパッケージを選択します。パッケージの一覧の画面が表示されます。表示のフィルターには、いまのジョブの名前が設定されています。
フィルターを外すと、保存されている全てのパッケージが表示されます。なんか、チェックイン/チェックアウトの操作とずれている気がします。バージョン番号は何故か2ずつカウントアップされています。下の図をみるとわかりますが、バージョン番号はパッケージ名ごとに連番で振られていません。全てのパッケージで連番になっています。私がRCSから時間が止まっているせいなのか、なんだか釈然としません。
Assemblaの方から確認すれば、Recent Eventの一覧にアーカイブした操作が記録されていることがわかります。次はアーカイブから取り出す操作です。
2017年6月7日水曜日
Data Integration Studio + SVNの設定
DIでSubversionのリポジトリを使う機能がありますが、親切丁寧な日本語の解説がありません。ということで、勉強しながら行った設定手順をメモします。
1. TurtoiseSVNインストール
最初にTurtoiseSVNをインストールしてください。私がインストールしたのは、TotoiseSVN 1.9.5 - 64bit、MSIのインストーラがあるので簡単です。
2. SVNのリポジトリをどこかに作る
私はお試しで Assemblaにユーザ登録しました。ユーザ登録したら、Installed Toolsの下にあるSVNをクリック、First Spaceの画面にある、Checkout URL:をコピーして控えます。
3. DIのSVNプラグインの設定
次に、DIのオプションでSVNプラグインのタブの設定例を示します。プログラムパスには、TurtoiseSVNのフォルダ配下にあるSVN.EXEを設定します。ローカルルートパスは、SVNのローカルのリポジトリのフォルダ、サーバーにはCheckout URLのホスト名の部分を、リポジトリにはChekuout URLのホスト名より後ろのパス、ユーザ名はAssemblaで登録したユーザ名設定します。Checkout URLの意味を知っていれば、ポート番号が443、種類がHTTPSを指定すればよいと分かります。
1. TurtoiseSVNインストール
最初にTurtoiseSVNをインストールしてください。私がインストールしたのは、TotoiseSVN 1.9.5 - 64bit、MSIのインストーラがあるので簡単です。
2. SVNのリポジトリをどこかに作る
私はお試しで Assemblaにユーザ登録しました。ユーザ登録したら、Installed Toolsの下にあるSVNをクリック、First Spaceの画面にある、Checkout URL:をコピーして控えます。
次に、DIのオプションでSVNプラグインのタブの設定例を示します。プログラムパスには、TurtoiseSVNのフォルダ配下にあるSVN.EXEを設定します。ローカルルートパスは、SVNのローカルのリポジトリのフォルダ、サーバーにはCheckout URLのホスト名の部分を、リポジトリにはChekuout URLのホスト名より後ろのパス、ユーザ名はAssemblaで登録したユーザ名設定します。Checkout URLの意味を知っていれば、ポート番号が443、種類がHTTPSを指定すればよいと分かります。
設定後に、接続テストボタンを押すと疎通確認できます。
今日はここまで
登録:
投稿
(
Atom
)