ushidayの日記

主に「IBMi」のメモに・・・

AS/400

ZendServer WinとDB2Connectで文字化け

ZendServer for Windowsで”IBM i”のDB2に接続し、データ取得すると文字化けする。 具体的なパターンだと、全マイナスと全ダッシュが、それぞれ半角になる。 一瞬Shift-JISのダメ文字かとも思ったけど、実装はUTF-8だし、”表示”は文字化けしなかったから何だ…

ZendServer8.5 for IBM i(PHP5.6)を入れて・・・

iSUC福岡大会に参加して、モチベーションが上向いているうちに、「よーしZendServer8.5のPHP5.6に更新しよう!」と意気込んでいたら、PHP5.6からCA証明書のチェックが必須となったみたいで、SSL/TLSメール送信でコケてました。以下の様な事が書いてありまし…

System i Access for Windows 6.1がやってくれた!

超超久々の投稿でご無沙汰です。活ける屍ですが、一応生きています。 Windows Server 2012 R2 Essentialsをセットアップしていると、”System i Access for Windows 6.1(旧Client Access)”がやってくれた! 散々サーバーセットアップした後に、ひと通り必要な…

AS/400にJenkinsを入れて

AS/400(IBM i)にGitを入れたので、さらなる幸せを手に入れるために、Jenkinsを入れた時の事を忘れないようにメモ。 実行環境 AS/400:OS400 V5R4M0 Java :/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/bin/java Jenkins:1.464 Git:1.7.10 初回起動時にエ…

db2cli.iniじゃなくて構成アシスタントで出来る

以前書いたこの記事で、トランザクション分離レベルの指定をdb2cli.iniでなんて書いてあったのですが、構成アシスタントの「CLI設定」で簡単に出来たので今更ながら補足です。 構成アシスタントを開く 設定したいインスタンスの横を右クリックで「CLI設定」…

Zend Server for i5 CE で複数のインスタンスを動かす

随分ご無沙汰のブログですが久々にアップです...。 「Zend Server for i5 CEでphp.iniの設定変えて別インスタンスを起動する事って、出来なくなったのかね?」なんていう、Twitterでのやりとりがありました。「Zend Server(※以下ZS)ではどうよ?」という興味…

PASE環境でのsyslogの設定

以前、PASE環境でsyslogを設定した時の事を、また忘れていたので、備忘録として...。 参考リンク IBM Software Technical Document AIX5.3インフォメーションセンター(syslogd) syslogd用のディレクトリ&ファイルを作成 PASE版syslogdは、”/QOpenSys/usr/…

iSeriesAccess for Linux の インストール

以前、Debian系にiSeriesAccess for Linuxをインストールした時に上手くいかず、投げ出したままだったので、CentOSで試した時のメモです。 IBMからは、rpmで提供されているので、環境としてはRHEL系を前提としている様です。 環境 IBM i V5R4M0 CentOS 5.5 i…

暗黙スキーマの挙動の違い

PCからお手軽に、既存のIBM i(AS/400)のプログラムを呼び出す方法に、SQLのCALLを投げる方法があります。こんな感じで ■PC系の文法 CALL スキーマ名.プログラム名 ('引数','引数2')■AS/400の対話式SQL CALL スキーマ名/プログラム名 ('引数','引数2')通常…

トランザクション分離レベル・省略値の違い

以前は、IBM i(AS/400)上のZend Coreにデプロイしてテストやリモートデバッグをしていたのですが、最近は、Windowsのローカル環境に立てた、Zend Server for Windowsでテストやデバッグをしてから、AS/400にデプロイしています。一人チーム開発なので、人の…

ZendServer CEの環境変数

ローカルになんちゃって、IBM i(AS/400)の環境を作りたくて(個人では買えないですから...)、DB2 for WindowsとZend Sever CE 5.0 for Windowsを入れました。 そもそも、イケない感じはしていたのですが、DB2の入れた順序が悪いらしく、 DB2 Express-C V9.7…

Zend Server CE 4.0.6 for Winを入れてみた

Zend Server CE(Community Edition)4.0.6をWindows環境に入れて、IBM i(AS/400)のDB2とゴタゴタやったので、メモしておきます。■動作環境 IBM i V5R4M0 Windows XP SP3 Zend Server CE 4.0.6 (PHP 5.2.11) for Windows DB2 Connect Personal Edtion V9.1…

Zend Framework Controllerメモ

Zend_Controllerを使ってみた時のメモを残しておきます。 httpd.confの設定 Zend Framework(ZF)では、URL変換に”mod_rewrite”モジュールを使用しているので、「/usr/local/Zend/apache2/conf/httpd.conf」を以下の様に書き換えます。 #LoadModule rewrite_mo…

Zend Core for i5で国際化&ローカライズ

IBM i(AS/400)の5250アプリで、多言語対応する場合は、”*MSGF”を使ったり、画面制約に縛られたりで、実装も保守も個人的には「面倒だ」というネガティブなイメージがあります。(中には画面やメニューだけ別言語で書き直して、OVRDSPFなんてのもあります。…

PASE環境でbash,zshを使う場合

IBM i(AS/400)には、PASE環境でコマンド処理をする為の、5250で使えるターミナル(※”call qp2term”で実行)があります。 このターミナルですが、ログインシェルは”shやbsh”(リンク元は”/QOpenSys/QIBM/ProdData/OS400/PASE/bin/ksh”)で、当然キーバインド…

QCCSID5026の弊害

「Zend Core i5 の起動について」という日記を以前書いたのですが、その後、起動出きない原因が分かったので、書いておきます。 レガシーな環境だと、AS/400(IBM i)のシステム値”QCCSID”が、未だに”5026”だったりします。モダンな環境ですと”5035”なのでしょ…

MySQL&IBMDB2iのベンチマーク

以前書いた日記の「IBMDB2i ストレージエンジン」MySQL IBMDB2iストレージエンジンで、PDOとMySQL関数でのベンチマークを、前回と同じ条件でやってみました。もしIBM i(AS/400)上のDDSから生成した既存の物理ファイルからデータを移行するには、まず先にIBMD…

PDOとDB2関数のベンチマーク

PDOとDB2関数で、大きな違いは出ないと伺ってはいたのですが、やらないと気が済まないもので、ベンチマークを比較しててみました。 PDOの方で、途中DBに結果が、反映されなくて、気付いたのですが、Write,Update処理にジャーナルが必要そうです。昔MSとか…

Zend Core i5 の起動について

先日導入した、”Zend Core i5 2.6”が、IBM i(AS/400)のIPL完了後に、Apacheのインスタンスが起動していません。ZENDCORE/ZENDのサブシステムは起動しているんだけど...。 で、調べてみると、こんな情報もあったので”System i5 - ZEND Products - Automatic…

PDOでハマル

新しく”Zend Core i5”を入れ替えたので、PDOを試してみたら、しょーもない事でハマッたのでメモを残します。 IBMのDB2用のドライバは、”pdo_ibm.so”のextesionが、php.iniで有効になっていれば使えます。 でもって、RedBookとか、関数リファレンスに使い方が…

PASEのtarって...

ZendFrameWorkを入れようと、IBM i(AS/400)上で、”〜tar.gz”をungzipして、tarしたら... 「警告うんぬん」言われて、"@LongLink"ファイルが、解凍先に出来ているではありませんか。 どうやら、”PASE標準(AIX標準?)”って、100文字縛りがあるらしい。 …

db2_prepare & db2_executeの怪

PHPでDB2のテーブルにSQLを投げる際に、代表的な関数が2つあります。 1つは db2結果 = db2_exec(db2接続,SQL文字列) もう1つは db2結果 = db2_prepare(db2接続,SQL文字列)こちらは、SQL文に「?」でパラメータマーカを指定出来ます。次に... db2_execut…

AMFPHPを使ってdb2_connectなどのエラーハンドル

「AMFPHPを使って、db2_connect(phpのDB2用関数)などのエラーハンドルが、AMFPHPのメッセージになってしまうけど、どうしてる?」という質問を受けたので、こんな感じにしてますというのを載せておきます。 ■[db2_connect()] $db=db2_connect($dbname,$dbu…

Zedo Core i5 で、PHPとFlex連携(その3)

前回の続きで、今度はFlexでAMFPHP上のサービスを呼出します。今回はグラフをやってみたかったので、リンク付きであればフリーで使える「amCharts」という、swfベースのコンポーネントを使ってみました。しかも丁度Flex版があり、SWCのライブラリとして使え…

Zedo Core i5 で、PHPとFlex連携(その2)

前回の続きで、今度はPHPのサービスプログラムを作成します。 サービスプログラムの作成 今回は適当な”売上データ”を連想配列で返す、サービスを作成します。 引数 開始年月:YYYYMM(文字 6Byte) 終了年月:YYYYMM(文字 6Byte) 戻り値 売上データリスト…

Zedo Core i5 で、PHPとFlex連携(その1)

IBMi(AS/400)で”Zend Core”が、メーカーサポートということもあり、PHPネタをやったので、メモしておきます。 ちなみに”Zend Core i5”とは、AS/400上で動作するPHPのエンジンです。 Flexが有ったから 会社でゴソゴソと物色していると、「若者たちのスキル向…

IBM i 5250での ftp client

IBM i(AS/400)の5250をclientとして、別のAS/400へftpする時に、デフォルトのファイルフォーマットが、「ライブラリ/ファイル.メンバー形式」だったりします。PCクライアントなどを使っている時は、勝手にやってくれるので意識しないのですが、ふと5250で…

Zend Studio for Eclipse i5/OS 版をインストール

”Zend Studio for Eclipse i5/OS 版”は、i(AS/400)のユーザーならば、無償で使えるという記事(しかも、1年保守<ウェブ・ベースのサポート、保守、パッチ、修正>が付いている様です。)を見たので、早速インストールしました。 自分の勘違いで、最初は日本…

IBM iに入れたSubversionが

今朝久々に会社に行ったら、先週入れたはずの”Subversion”が、立ち上がっていない。 手動で”STRSBS”をやってやると、立ち上がるのでどうやら、IPLでの問題みたいだ。 その後、手動で上がるということは、IPL時に立ち上がっていないサービスの影響を受けてい…

IBM iにSubversionサーバーを設定 その2

前回の続きで、IBMi(AS/400)のSVNデーモンの起動とチェックアウト&コミットをします。 SVNデーモンの起動 インストールの際に、「OPENLIB/OPENSYS」(※適宜 QGPL/QBATCHなどに置き換えて下さい)というサブシステムで、自動実行される様にしたので、”ENDS…