Search

2012/11/27

FireBird2.5のODBCでUTF8の設定をしておこう

DBはUTF8を使いたいところ。
そこで、下記のようにデータベースを作った。


CREATE DATABASE 'localhost:c:\db\testzaiko.fdb'
USER 'testuser' PASSWORD 'password'
PAGE_SIZE = 8192 DEFAULT CHARACTER SET UTF8;

これでOKだと思い。テーブルをてきとうに作って、日本語をinsertした。
しかし、下記のエラーでレコードを登録できない。
SQL   : [ODBC Firebird Driver][Firebird]Malformed string

日本語を無くすと記録されるので、どこかのキャラクター設定と思った。
しかし、全然分からない・・・。
いろいろやってみること1時間。やっとわかったのが下記画面でした。
ODBCのsetupで「Character Set」をNONEのままにしていた。
これをUTF8に変更。
すると、日本語もレコードが通った。
ODBCドライバーを通せば何でもできるのだろうが、はまるときははまってしまう・・・。


動作環境
OS :WinXP32bit
DB :FireBird2.5
SQLのGUIツール :A5:SQL Mk-2
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/


「そのほかのポイント的なこと」
(1)idをオートインクリメントする」
createでsequenceで連番発生させる変数を指定する。
create sequence seq_id;

開始数値の変更
alter sequence seq_id restart with 0;

sequenceを削除する
drop sequence seq_id;

insert時にnext value for seq_id によって、連番が生成される。
例)
insert into table1(field1, field2) values(
next value for seq_id, 
'test'
);


(2)データベースを任意のフォルダに作るときは、localhost:で指定。
※サーバーなら、IPアドレスを指定すれば良いと思います。
※日本語を扱うならCHARACTER SETの指定は必須!

CREATE DATABASE 'localhost:c:\db\testzaiko.fdb'
USER 'testuser' PASSWORD 'password'
PAGE_SIZE = 8192 DEFAULT CHARACTER SET UTF8;

(3)計算列がなぜかうまくいかない・・・。
ratio computed by ((aaa/bbb)*100) だと常に0になる。
ratio computed by ((aaa*100)/bbb) とすれば計算できた。基本はint型なのか?

2012/11/26

黒猫 SQL Studio NextでFireBirdを使ってみた

 Excelで集計していたリストが1万件を超えるようになり、
そろそろデータベースへの移行をしなくてはならないかもしれない。

とりあえず、SQLiteは除外して、WinXp上のDBで簡単に使えそうなFirebirdを
GUIで使うことを調べた。
黒猫 SQL Studio Nextが凄いと思いました。

黒猫ソフトウェア工房 様
http://kuronekosoft.ewinds.net/

wikiはこちら:黒猫ソフトウェア工房 - Wiki
http://www37.atwiki.jp/kuronekosoft/

Firebirdの接続は下記の手順。wikiより抜粋。


1)FireBird用のODBCDriverをインストール
http://www.firebirdsql.org/en/odbc-driver/
Firebird_ODBC_2.0.1.152_Win32.exe

2)コマンドラインからFB本体のフォルダに移動。

3)gsecで、新規ユーザを登録。下記のような感じ。

C:\Program Files\Firebird\Firebird_2_5\bin>gsec -user sysdba -pass masterkey -ad
d testuser -pw password

※FBのsysdbaのデフォルトのパスワードは「masterkey」です。

4)プログラムからISQL Toolを起動して、下記のような感じでデータベースの作成を実行

SQL> create database 'fbtest.fdb' user 'testuser' password 'password';


5)下記手順にて、黒猫 SQL Studio NextからFBに接続する

■[データベース]-[ODBCアドミニストレータ]をクリックします。
■[ユーザーDSN]タブの[追加]ボタンをクリックします。
■ドライバの一覧から[ FireBird/Interbase(r) Driver ]を選択します。
■[完了]ボタンをクリックします。
■[Data Source Name]に任意の名前を入力します。
■[Database]ボックスに、データベースファイルのフルパスを入力します。
※リモートマシンにあるデータベースに接続するには、 HostName:C:\Database\Sample.gdb のように指定します。
■[Database Account]、[Password]を入力します。
■[Test connection]ボタンをクリックして、接続をテストします。
■[OK]ボタンをクリックします。
■[ODBCアドミニストレータ]を終了します。
■[データベース]-[データベースに接続]をクリックします。
■[ODBC接続]タブに切り替えます。
■作成したDSNを選択して[接続]ボタンをクリックします。

あとは、黒猫 SQL Studio NextのSQLから、テーブルの作成などをすれば良いと思います。


まだ簡単に使ってみただけですが、便利です!
Excelしか知らない作業者に伝えるには、GUIが一番良いと思います。

元がExcelデータなので、ExcelをJET OLEで接続するのが良いのか?
http://www37.atwiki.jp/kuronekosoft/pages/19.html
それともCSV出力して、XMLWizardを使うのも良いかも?
http://www.guacosoft.com/xmlwizard/
少し試してみようと思います。

2012/11/24

ポータブル的な仮想CDソフト:PortableWinCDEmu-3.4

ISOファイルを手軽にマウントしたいときはこのツールが便利かもしれない。
PortableWinCDEmu-3.4.exe
※更新されていないらしいので、バージョンは古い。

Win7 64bitで使ってみた。
実際には、ドライバーのインストールが必要になるので、管理者権限が必要になる。

mountボタンでisoを指定すれば、仮想ドライブが作成される。
Linuxの配布isoの中身を除くとき便利に使えそう。

2012/11/21

MacOSXでファイルの切り取り&貼り付け


ファイル選択>Command+C>該当フォルダを開く>Command+Opriont+V


Windowsではファイルの切り取り&貼り付けをショートカットキーで
行うことが多いと思う。
ファイル選択>Ctrl+C>該当フォルダを開く>Ctrl+C
MacOSだとこれができなかった。

というか、これはOSのポリシーの違いになる。
簡単にファイルの削除を行えないのが、MacOSのポリシーのようだ。
ファイル選択の状態で、Deleteキーを押してもゴミ箱に行かない。
良し悪しは問えない。

でも、MacOSでもファイルの切り取り&貼り付けはできる。
下記操作になる。

ファイル選択>Command+C>該当フォルダを開く>Command+Opriont+V
やっぱり、あれば便利に使えると思う。

MacOSだと、中指と人差し指でショートカットを押す。
Winだと、小指と人差し指。なんか慣れない・・・。
でも、決まった操作ならMacOSの方が楽に思える。やっぱりMacかな?

2012/11/18

英語と中国語のKingsoftOfficeは無料なのを知りました



機能限定版らしいが、英語&中国語のKingsoftOfficeは無料で使える。
http://www.kingsoftstore.com/kingsoft-office-freeware.html

KingsoftOffice日本語版をWin7で使っているが、MS-Officeとの互換性は非常に良い。
OpenOfficeを使うくらいなら、上記の英語版KingsoftOfficeでいいんじゃないかと思う。
もちろん、英語のままで使うことになります。


というか、アマゾンで日本語版が3,000円くらいで買えます。
英語版で不満なら、日本語版をオススメします。
http://www.amazon.co.jp/dp/B005K1T4VK

MacOSXでプリンタのデフォルトをモノクロ印刷に設定ができないのかな?

 モノクロ印刷をデフォルトで設定できるんですが、すごい面倒・・・。
MacOSXは便利なのだろうけど、なぜかこういった抜けがあるのが不思議だ。
Macを使うくらいならカラー印刷が当たり前!的な発想なのだろうか?

Mac OS Xで印刷する際のモノクロ印刷の固定化方法 pcmaster様
http://d.hatena.ne.jp/pcmaster/20111203/p2


(1)http://localhost:631/ へブラウザでアクセス
(2)接続拒否される。「xxの設定をしてください」と表示される。
※確かxxは、「cupsctl WebInterface=yes」だったような気がします。忘れてしまいました。
(3)ターミナルを開いて、上記のコマンドを叩いて、CUPSへのアクセスを確保。
(4)再度 http://localhost:631/ へアクセス。今度は表示されます

これ以降はプリンタドライバーに応じて異なります。
私の場合は、「color」をクリックするとモノクロとカラーの設定が出ました。
あとは「set default」のボタンをクリックすると、パスワードダイアログが出ます。
パスワードの入力で設定が完了します。


 「CUPS Web インターフェイス」? なんですかそれ?状態です。
しかも、コンソールでコマンドを叩かないと表示もできない。
ほかにも方法があるのでしょうか?こういった需要は無いのでしょうか?
Windowsだと結構 普通に使うけど、Macは違うのか・・・。


追加の参考リンク、英語サイトです。
CUPS ? Web Interface disabled It's All Mac-Ademic様
CUPSにアクセスするには、「cupsctl WebInterface=yes」でOKなようだ。
http://itsallmacademic.com/2012/09/15/cups-web-interface-disabled/

------
Macは全然使わないので、WEB情報で調べてみた。
上記について「macosx printer black default lion」とかでGoogle検索。
出てきた情報が古いし、少ない・・・。

おおよそのところでは、ドライバーによっては対応してたり、しなかったり。
2007年以前は可能だった、10.6以前は可能なはず、という情報もあったり。
OSバージョンやドライバーによって、印刷のデフォルトの設定方法は様々なようだ。
https://discussions.apple.com/thread/3565662?start=0&tstart=0


LionとMountainLionについては、CUPSインターフェースが見やすくなったらしい。
でも、ターミナルを開いて手打ちで「cupsctl WebInterface=yes」をしなければいけないようだ。
http://community.spiceworks.com/how_to/show/15962-setting-a-printer-to-default-to-b-w-in-mac-os-lion-an-mountain-lion

Macは使っていないので、さらに詳しい情報はこれからの人たちに期待します。

2012/11/09

噂で聞いた話し:iPhoneとAndroidのLTEは違う

各社ともに出ているLTEだが、iPhone5とAndroid端末では、
使われているLTEが異なる。iPhone5の方が使用可能な範囲が狭い。

単純に使用する周波数帯が異なるからみたいだ。
iPhone5はアメリカの周波数で、Androidは日本の周波数。
日本の周波数を使えるAndroidの方が、広い範囲でLTEを使用できる。

と言っても、どちらも持っていないので分からない。
そもそも、宮城県程度ではiPhone5を持っている人に会うことも少ない。
まして、au版のiPhone5なんて見たこともない。

しょせんはベストエフォーだし、LTEと言えどもそのうち遅くなってしまうだろう。
それでも、何となく憧れてしまう。


また、どうでもいいことだが、iPhoneって結構高い。
月額で最低8,000円くらいかかるそうだ。
私はauのAndroid端末を一括0円で購入したので、端末割引ありで4,200円くらい。
もっと安い人もいた。
iPhoneはお高いものだと思った。

2012/11/05

ファイルをWindowsで分割して、MacOSで結合する

 以前にも投稿したが、Windowsには標準でファイル分割命令が無い。

 Windowsでのファイルの結合は、プロンプトのcopyで可能。
例)copy /b aaa.01 + aaa.02 aaa.zip
※ aaa.01とaaa.02をバイナリレベルで結合して、aaa.zipを生成する。

aaa.01~aaa.99みたいな連番なら、ワイルドカードを使用できる。

例)copy /b aaa.* aaa.zip
※aaa.01~aaa.99を結合して、aaa.zipを生成。

 LinuxやMacosなら、コンソールからsplitで分割、catで結合ができる。
非常に簡単。


となると、「LinuxやMacOSで分割->Winで結合」は、すぐにできる。
しかし、逆の「Windowsで分割->LinuxやMacOSで結合」がちょっと面倒。

どうしようかと悩んだが、結局はLhazを使用した。
解凍用として、ほとんどのPCに入れてあります。
(ほかのソフトでも、バイナリレベルで分割できれば何でもOKなはずです。)
ファイルと分割サイズを指定すれば、.01、.02・・・、.batの分割ファイルを生成してくれます。
(.batはcopyコマンドのバッチファイルなので、Windowsなら使用可能。
LinuxやMacOSのときは、.batは削除しておく。)
これをMacOSの特定のフォルダに移動して、コンソールから「cat aaa.* > aaa.zip」で
結合できました。


ネットが使えない端末や、2GBを超えるファイルのときは便利に使えるのでは
ないのかなと思います。

2012/11/01

サンクスでJCB商品券でAmazonギフト券を購入

この投稿の方法はできなくなりました。
2014年の2月ごろからできないとのツイッターが多いので、
サンクスの下記の項目かなと思います。
詳細は不明です。
でも、支払いの対応表にも記載がありましたので、規約が変わったのだと思います。
http://www.circleksunkus.jp/inquiry/faq/pay.html


------------
使えるようであまり使わないクレジット会社のギフトカードがあったりする。
最近のコンビニはクレカOKなので、食べ物の購入にギフトカードで払える。
でも、持ち歩く習慣が無いので残ってしまう。
非常にもったいない。
金券ショップで換金すれば、92%くらいで買い取ってくれるらしいが面倒。
そこで、噂に聞いていたAmazonギフト券の購入をやってみた。
何かしらの動機があると、すぐにやる気が出てくる。

とりあえず良くわからないが、サンクスに行った。
端末の右上のプリカを押して、次に左下のボタンを押すとAmazonのが出てきた。
3,000円を押すとレジに持っていくレシートが出てきた。
すぐにレジにむかい「JCBのギフトカードでお願いします」と言う。
即座に難色を示された。やっぱりダメ・・・?

10分くらいレジをいじっていたがなんだかダメっぽい・・・。
「たぶん、できるはずです。」と、もう一回お願いしてみた。
でも、時間がかかりそうなので、最後尾に並び直して再チャレンジ。
ちょうどベテランっぽい人も出勤してきた。
だが、たぶんできない、との回答。
じゃあ返品でいいかと思ったが、レシートには「返品不可」の文字が・・・。

ベテランの人も制服に着替えてレジに入ったので、そちらにお願いしてみた。
この方も難色をしめしたが、「とりあえず打ってみます」と言ってくれた。
ちょっと元気出てきた。
「これかなぁ?金券?」とか言いながら、ピッピッと電子音が鳴る。
客はいなくなった。私ひとりに3人でレジ打ち。
なんだか申し訳ないような気がして、こんなことやらなきゃ良かったとプチ反省気分に浸っていた。

・・・と、軽くしょぼくれてる私を尻目に電子音が鳴り、突然に「できた!」
その言葉を待っていたんだよ!
JCBギフトカード3,000円を支払って、会釈をしつつサンクスを後にした。
コンビニのバイトは大変だとつくづく思いました。
今日もありがとう!サンクスの店員さんたち!


写真のブツがそのときのアレです。
よく考えれば、JCBギフトカードをサンクスで普通に使えば良かったと思った。
ギフトカードをたくさんもらえるほど、裕福な生活していないし。
Amazonで本を買うときにでも使えればいいかな、と思います。
結果:仙台市某所のサンクスでは、JCBギフトカードでAmazonギフト券を購入できました。