2007年02月28日
IDS自動更新? (Cheetah)
最近、Install Shieldで作られたWindows アプリケーションをインストールした後、タスクバーに「Software Manager」というアイコンが常駐していることがあるのを知っている人も多いかと思います。Informix Dynamic Server version 11.10 のオープンベータ ( Windows版 )をインストールした後、このアイコンが常駐しているのを発見しました。
たまに、「あなたが今使用している Informix Dynamic Serverは最新版です」という主旨のメッセージが(英語で)表示されます。今後オープンベータの更新や正式版出荷後のフィックスパックリリースなどで、このアイコンが役立つようになるのでしょうか?興味が沸きます。
(以上の記述は、Windows XP上で、IDS 11.10.TB4TL を実行した結果に基づいています)
続きを読む
たまに、「あなたが今使用している Informix Dynamic Serverは最新版です」という主旨のメッセージが(英語で)表示されます。今後オープンベータの更新や正式版出荷後のフィックスパックリリースなどで、このアイコンが役立つようになるのでしょうか?興味が沸きます。
(以上の記述は、Windows XP上で、IDS 11.10.TB4TL を実行した結果に基づいています)
続きを読む
2007年02月27日
日本IBMサイト - Cheetahのお知らせ
当然といえば当然ですが、日本IBMのウェブサイトにも、Cheetah オープンベータのお知らせが掲載されています。
http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/0033407F
続きを読む
http://www-06.ibm.com/jp/domino01/mkt/dminfo.nsf/doc/0033407F
続きを読む
2007年02月25日
TASK() と ADMIN() (Cheetah)
IDS Cheetahには、TASK()とADMIN()という新しい組み込み関数が用意されています。これを使って、データベース・サーバーに対する管理操作を実行できます。例えば、dbaccess のSQL問い合わせ画面から、
を実行すると、画面には、
使っていて、いくつか注意しなければいけないことに気づきました。
1. ユーザー informix ( または DBSAメンバー) として実行
2. データベース sysadmin を現行データベースにした状態で実行
これらを守らないと、
便利だと思ったのは、DB領域の作成です。
で新しいDB領域 newspc を作成できるのですが、クックドDB領域 ( ファイルシステム上に作成するDB領域 ) を作成する際、事前にそのファイルを作成しておく必要はありません ( Windows 版で試した結果です)。onspaces で作成する場合、事前に
なので、データベースサーバーに対して、dbaccess で接続できれば、telnet する必要なしにDB領域の作成が出来ます。複数のデータベースサーバーを管理している場合にはかなり便利だと思います。
なお、TASK() と ADMIN() の違いは、実行結果のメッセージ出力などが、SQLの結果として返ってくるかどうかです。どちらの関数も、実行結果は sysadminデータベースのcommand_history表に格納されます。TASK() の場合には、実行結果がSQL ( EXECUTE FUNCTION ) の結果としても返ってきます。dbaccess の場合には画面に表示されます。ADMIN() の場合には、画面には整数値 ( command_history表の、実行結果が格納されている行のID ) が返ってきます。
TASK()とADMIN()で扱える SQL ADMINISTRATION API (コマンド ) の一覧は、SQL Syntax Guide にあります。
(以上の記述は、Windows XP上で、IDS 11.10.TB4TL を実行した結果に基づいています)
EXECUTE FUNCTION TASK( 'CHECK EXTENTS' );
を実行すると、画面には、
oncheck -ceと同等の結果が出力されます。
使っていて、いくつか注意しなければいけないことに気づきました。
1. ユーザー informix ( または DBSAメンバー) として実行
2. データベース sysadmin を現行データベースにした状態で実行
これらを守らないと、
674: Routine (task) can not be resolved.というエラー ( TASK を実行した場合。) が発生します。
便利だと思ったのは、DB領域の作成です。
EXECUTE FUNCTION TASK ( 'CREATE DBSPACE', 'newspc',
'c:\ifmxdata\ol_xp1\newspc.000
'0MB', '40MB');
-- 以下の onspaces コマンド実行と同等
-- onspaces -c -d newspc -p c:\ifmxdata\ol_xp1\newspc.000 \
-- -o 0 -s 40000
で新しいDB領域 newspc を作成できるのですが、クックドDB領域 ( ファイルシステム上に作成するDB領域 ) を作成する際、事前にそのファイルを作成しておく必要はありません ( Windows 版で試した結果です)。onspaces で作成する場合、事前に
touch newdbs; chown informix newdbs; chgrp informix newdbs; chmod 660 newdbsを実行しておかないとエラーになりますよね。
なので、データベースサーバーに対して、dbaccess で接続できれば、telnet する必要なしにDB領域の作成が出来ます。複数のデータベースサーバーを管理している場合にはかなり便利だと思います。
なお、TASK() と ADMIN() の違いは、実行結果のメッセージ出力などが、SQLの結果として返ってくるかどうかです。どちらの関数も、実行結果は sysadminデータベースのcommand_history表に格納されます。TASK() の場合には、実行結果がSQL ( EXECUTE FUNCTION ) の結果としても返ってきます。dbaccess の場合には画面に表示されます。ADMIN() の場合には、画面には整数値 ( command_history表の、実行結果が格納されている行のID ) が返ってきます。
TASK()とADMIN()で扱える SQL ADMINISTRATION API (コマンド ) の一覧は、SQL Syntax Guide にあります。
(以上の記述は、Windows XP上で、IDS 11.10.TB4TL を実行した結果に基づいています)
2007年02月23日
IFX_NO_TIMELIMIT_WARNING
in4mix blog に、Cheetah Open Beta の裏技が紹介されています。
http://in4mix.asablo.jp/blog/2007/02/23/1204813
Open Beta をインストールした人はご存知かと思いますが、「何月何日まで使用可能」というメッセージが毎回表示され結構うっとおしいです。
それを回避(あくまでも表示をとめるだけです)する技が紹介されています。
http://in4mix.asablo.jp/blog/2007/02/23/1204813
Open Beta をインストールした人はご存知かと思いますが、「何月何日まで使用可能」というメッセージが毎回表示され結構うっとおしいです。
それを回避(あくまでも表示をとめるだけです)する技が紹介されています。
2007年02月23日
2007年02月19日
SQLTRACE (Cheetah)
IDS Cheetah を早速ダウンロードしてみました。色々おもしろそうな機能がありますが、今日試して良いな、と思ったのは、SQLTRACE ( ONCONFIG パラメーター)です。
ONCONFIGに、次のような行を書いてからoninitを実行してオンラインモードにしてみます。
こうすると、以後データベースサーバーで実行されたすべてのSQL文が、ntraceやsizeで指定された範囲ですべて記録されます。記録した内容は、onstat -g his で表示できます。それぞれのSQLについて、実行時間やメモリー使用状況などの詳しい情報が表示されます。
今までだと、SQLIDEBUGなどの環境変数を使ってクライアント側で記録するか、onstat -g stm/sql/ses などで「最後に実行された」SQLを取得するなどの方法がありましたが、それらに比べるととても詳しい実行履歴がとれそうです。
でも、いつも有効な状態にしておくと負荷がかかるんでしょうね。マニュアルを見ると、セッション単位でオンにしたりもできるようです。
残念ながら、現行バージョン ( IDS 9.4 や IDS 10.0 ) では使用できません。
ONCONFIGに、次のような行を書いてからoninitを実行してオンラインモードにしてみます。
SQLTRACE level=low,ntraces=1000,size=1024,mode=global
こうすると、以後データベースサーバーで実行されたすべてのSQL文が、ntraceやsizeで指定された範囲ですべて記録されます。記録した内容は、onstat -g his で表示できます。それぞれのSQLについて、実行時間やメモリー使用状況などの詳しい情報が表示されます。
今までだと、SQLIDEBUGなどの環境変数を使ってクライアント側で記録するか、onstat -g stm/sql/ses などで「最後に実行された」SQLを取得するなどの方法がありましたが、それらに比べるととても詳しい実行履歴がとれそうです。
でも、いつも有効な状態にしておくと負荷がかかるんでしょうね。マニュアルを見ると、セッション単位でオンにしたりもできるようです。
残念ながら、現行バージョン ( IDS 9.4 や IDS 10.0 ) では使用できません。
2007年02月19日
IDS Cheetah Open Beta記事
IDS version Next (コードネーム:Cheetah)のオープンベータ開始について、日本語の記事がありました。
http://www.computerworld.jp/news/sw/58329.html
Computerworld (IDG Japan)
続きを読む
http://www.computerworld.jp/news/sw/58329.html
Computerworld (IDG Japan)
続きを読む
2007年02月15日
IDS vNext (Cheetah) Open Beta
オープンベータが始まりました。
http://www.ibm.com/software/data/informix/ids/new
英語ですがプレスリリースも出ています。
http://www-03.ibm.com/press/us/en/pressrelease/21082.wss
続きを読む
http://www.ibm.com/software/data/informix/ids/new
英語ですがプレスリリースも出ています。
http://www-03.ibm.com/press/us/en/pressrelease/21082.wss
続きを読む
2007年02月09日
d4_orders.4gl
IBM Informix 4GL 7.32 に含まれている demo4 の日本語サンプルコードをコンパイルして動作させると、レポート出力結果の金額値出力部分に数値が表示されず、こんな感じになってしまうのに気づきました。
==== ここから (手を抜いてHTML化したので、単語間の空白が詰まってしまいました。ご了承ください。)
-------------------------------------------------------------------------------
# 品番 メーカ 品目名 数量 単価 単位 単位 説明 金 額
1 01 HRO 野球グローブ(軟 2 ******* 箱 10 個/ケース ***********
-------------------------------------------------------------------------------
合 計: ***********
送 料: ***********
-----------
総合計:***********
==== ここまで
調べてみると、d4_orders.4glに、Informix 4GL version 4の日本語化仕様に沿った記述が入っていました。このままではversion 7 でコンパイルした場合に正しく動作しないですね。
version 7.32.xC3までの製品に含まれる、日本語版のd4_orders.4gl では、レポート関数内で、金額型数値の書式指定文字列に、"\" ( 円マーク ) を使用していますが、これは、version 7 では "$" を使用すべきですね。
正しく書式指定文字列を直してあげたら、こんな感じに、無事レポート出力が正常になりました。
======= ここから
-------------------------------------------------------------------------------
# 品番 メーカ 品目名 数量 単価 単位 単位 説明 金 額
1 01 HRO 野球グローブ(軟 2 \75000 箱 10 個/ケース \150000
-------------------------------------------------------------------------------
合 計: \150000
送 料: \5250
-----------
総合計:\155250
======= ここまで
以下、修正内容です。
( ujis 版のソースコード
% cd $INFORMIXDIR/demo/fgl/ja_jp/e007
% diff d4_orders.4gl ~/fixed/d4_orders-for-v7.4gl
464c464
< USING "\\\\\\\\\\\\\\"," ",x.最小販売単位," ",x.単位内容
," ";
---
> USING "$$$$$$$"," ",x.最小販売単位," ",x.単位内容," ";
466c466
< USING "\\\\\\\\\\\\\\\\\\\\\\"
---
> USING "$$$$$$$$$$$"
473c473
< PRINT COLUMN 60, " 合 計: ",calc_total USING
"\\\\\\\\\\\\\\\\\\\\\\"
---
> PRINT COLUMN 60, " 合 計: ",calc_total USING "$$$$$$$$$$$"
476c476
< x.運賃 USING "\\\\\\\\\\\\\\\\\\\\\\"
---
> x.運賃 USING "$$$$$$$$$$$"
479c479
< PRINT COLUMN 60, " 総合計: ",calc_total USING
"\\\\\\\\\\\\\\\\\\\\\\"
---
> PRINT COLUMN 60, " 総合計: ",calc_total USING "$$$$$$$$$$$"
続きを読む
==== ここから (手を抜いてHTML化したので、単語間の空白が詰まってしまいました。ご了承ください。)
-------------------------------------------------------------------------------
# 品番 メーカ 品目名 数量 単価 単位 単位 説明 金 額
1 01 HRO 野球グローブ(軟 2 ******* 箱 10 個/ケース ***********
-------------------------------------------------------------------------------
合 計: ***********
送 料: ***********
-----------
総合計:***********
==== ここまで
調べてみると、d4_orders.4glに、Informix 4GL version 4の日本語化仕様に沿った記述が入っていました。このままではversion 7 でコンパイルした場合に正しく動作しないですね。
version 7.32.xC3までの製品に含まれる、日本語版のd4_orders.4gl では、レポート関数内で、金額型数値の書式指定文字列に、"\" ( 円マーク ) を使用していますが、これは、version 7 では "$" を使用すべきですね。
正しく書式指定文字列を直してあげたら、こんな感じに、無事レポート出力が正常になりました。
======= ここから
-------------------------------------------------------------------------------
# 品番 メーカ 品目名 数量 単価 単位 単位 説明 金 額
1 01 HRO 野球グローブ(軟 2 \75000 箱 10 個/ケース \150000
-------------------------------------------------------------------------------
合 計: \150000
送 料: \5250
-----------
総合計:\155250
======= ここまで
以下、修正内容です。
( ujis 版のソースコード
% cd $INFORMIXDIR/demo/fgl/ja_jp/e007
% diff d4_orders.4gl ~/fixed/d4_orders-for-v7.4gl
464c464
< USING "\\\\\\\\\\\\\\"," ",x.最小販売単位," ",x.単位内容
," ";
---
> USING "$$$$$$$"," ",x.最小販売単位," ",x.単位内容," ";
466c466
< USING "\\\\\\\\\\\\\\\\\\\\\\"
---
> USING "$$$$$$$$$$$"
473c473
< PRINT COLUMN 60, " 合 計: ",calc_total USING
"\\\\\\\\\\\\\\\\\\\\\\"
---
> PRINT COLUMN 60, " 合 計: ",calc_total USING "$$$$$$$$$$$"
476c476
< x.運賃 USING "\\\\\\\\\\\\\\\\\\\\\\"
---
> x.運賃 USING "$$$$$$$$$$$"
479c479
< PRINT COLUMN 60, " 総合計: ",calc_total USING
"\\\\\\\\\\\\\\\\\\\\\\"
---
> PRINT COLUMN 60, " 総合計: ",calc_total USING "$$$$$$$$$$$"
続きを読む
2007年02月05日
CSDK 3.00 Beta with the add-in
現在 Client SDK 3.00のオープンベータ期間中ですが、Visual Studio 2005 add-in が含まれる新しいベータバージョンが公開されています。
http://www.iiug.org/news/announcements/CSDK_Open_beta.html
http://www.iiug.org/news/announcements/CSDK_Open_beta.html
2007年02月04日
IDS 10.00.UC6, FC6,TC6,...
Informix Dynamic Server 10.00.xC6 ( Unix/Linux 32bit and 64bit, Windows 32bit)のリリースノート(障害情報なども)が掲載されていますね。
http://www-306.ibm.com/software/data/informix/pubs/library/notes/machnote/machnote.html#ids10
続きを読む
http://www-306.ibm.com/software/data/informix/pubs/library/notes/machnote/machnote.html#ids10
続きを読む
2007年02月04日
IDS V7.31からV10への移行(dbexport)
IDS V7.31 にあるデータベースを dbexport でエクスポートし、それを別マシン(別OS)上の IDS V10 などに移行する時、もし IDS V7.31データベース内の表がひとつでも2GBytes を超えていると、dbexportでエクスポートすることはできません ( IDS V7.31に含まれている dbexport は2Gbyte以上の大きさのファイルを出力できない - IDS V10 についている dbexport ならOK)。
なので、IDS V10.0 をインストールしたマシン上から、遠隔DBアクセスを使って、
とすれば、2ギガバイト以上の表があってもOKかな?と思ったのですが、だめでした。IDS V10 の dbexport は、IDS V7.31のデータベースには存在しない、V10固有のシステムカタログ表をいくつかアクセスしようとしているようで、IDS 7.31のデータベースに対して実行すると、Error -217 を返し、エクスポートを始める前に終了してしまいました。
これを何とかするために自前の export や dbschema などを作ってしまった人がいるようです。
International Informix Users Group の Software Repository 内に、"myexport"という名前で公開されているらしいです (このスクリプトは、 "utils2_ak", "sqlcmd" パッケージなどを使用します)。
続きを読む
なので、IDS V10.0 をインストールしたマシン上から、遠隔DBアクセスを使って、
dbexport olddb@ids731 -o .
とすれば、2ギガバイト以上の表があってもOKかな?と思ったのですが、だめでした。IDS V10 の dbexport は、IDS V7.31のデータベースには存在しない、V10固有のシステムカタログ表をいくつかアクセスしようとしているようで、IDS 7.31のデータベースに対して実行すると、Error -217 を返し、エクスポートを始める前に終了してしまいました。
これを何とかするために自前の export や dbschema などを作ってしまった人がいるようです。
International Informix Users Group の Software Repository 内に、"myexport"という名前で公開されているらしいです (このスクリプトは、 "utils2_ak", "sqlcmd" パッケージなどを使用します)。
続きを読む






日本の地域ブログ大集合!津々浦々の美味い・楽しいがここに!