AccessとLinux

中小企業での販売管理プログラムの作成についての所感

Access2007のファイルサイズ

2008年06月21日 15時59分38秒 | Weblog
Vista+Access2007(accdb)をメインに使用していますが、最近、Accessのファイルサイズ136Mにもなってしまいました。最適化は毎回プログラム終了時に行っています。大してフォームを追加したわけでもないので、最適化がうまくいっていないのではないかと思っていました。
ところが、あるクライアントではXP+Access2007で同じaccdbファイルのサイズが66Mしかありません。妙だなと思い、136MのファイルをXPへ移動して、起動、終了すると136Mあったファイルが66Mになってしまいました。
これっていったいどういうことなんでしょうか?
ほぼファイルサイズが半分になったので、Vistaのファイルサイズの計算間違いか、XPとVistaのディスク管理クラスタサイズの関係でこうなってしまうのか、不思議な現象でした。

そんなこともあり、最近はXPでAccess2007を使用していますが、XPならフォント下線もチャント印刷されるし、

http://support.microsoft.com/kb/936176/ja

動作も少し速いです。Access2007はXPで使用した方が快適かもしれません。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フリーな環境

2008年06月15日 16時24分09秒 | Weblog
今回、UbuntuやCentOSをインストールしてみて、LinuxのGUI環境がさらに使い易くなっているなと感じました。
IPアドレスの変更一つとってみても、以前、Redhat7.*の頃はGUIで変更することも可能なようでしたが、使い方がよくわかりませんでした。Windowsでは全くそういうことはありません。Windows3.1の頃はよくわかりませんが、Windows95では、IPアドレスの変更は簡単です。
Redhat9.0ではテキストファイルを編集してIPアドレスの変更を行っていましたが、Sambaの設定後にIPアドレスを変更すると、Sambaがうまく起動しませんでした。(テキストファイルの設定の仕方が悪かったのだと思います。その際は、Sambaをアンインストール、再度インストール後、設定をやり直していました。smb.confには直接、自IPを記述するところがありません。IPアドレス変更の際、どこか直さなければならないところがあるのでしょうか?)
今回、CentOSのGUIからIPアドレスの変更を行いましたが、非常に簡単で、Sambaの起動にも支障がありません。

LinuxのGUI環境が整ってくると、いつも完全にフリーな環境でPCを使用できないものかと思ってしまいます。
サーバーをフリーなものに変更するのは簡単ですが、クライアントとなるとそうはいきません。移行はかなり大変です。

(1)販売管理ソフト、給与計算ソフトをMS-Accessを使用して作成していて、変換できるフリーソフトが存在しない。
(2)Linux対応プリンタードライバーがない。

WordやExcelはたいしたマクロも使用していないのでOpenOfficeに移行すれば良いのですが、ことAccessとなるとそうは行きません。今回、少し調べてみたのですが、以前少し検討していた環境、OpenOffice+Javaで実際に移行している場合もあるようです。その場合、印刷はOpenOfficeのCalcを使用するようです。まあ、Excelを使用して印刷するようなものですが、Accessの印刷をExcelを使用して行うとなると、おっそろしく大変です。AccessのVBAをJavaで書き直すのも非常に大変です。それはもう移行というようなシロモノではなく、全く新しく作ることです。

プリンターは、コピー、FAX、プリンター兼用機を使用しています。今後もそのつもりですが、メーカーからLinux用のドライバーが供給される可能性はありません。そうなると、Windows+Gostscriptでプリントサーバーを作る他、道はありません。実際にこの環境で運用したことがないので、うまくいくかどうかは未知数です。

やはり便利に使用している、MS-AccessがネックでLinuxへの移行は無理ということです。MS-AccessはWinodowsのキラーアプリなんだなと再認識されました。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

シンクライアントサーバーデモ機のセットアップ完了まで(5)

2008年06月13日 23時56分15秒 | Weblog
5.実際の運用に当たって
一応、上記でシンクライアントサーバーができそうなのですが、実際、運用するとなると、もう少し確認しておきたいことがあります。

(1)ホストOSでXを立ち上げたくない。
サーバーはかなりハイスペックなもの(まあ20万円くらいです)を選定するつもりですが、これまで、サーバーとしてLinuxを使用する際、Xを立ち上げたことがありません。今回にしてもVMware Server ESXに至ってはホストOSもない位ですから、仮想マシン以外のリソースについてはなるべく解放してやる方が効率的です。
なので、CentOSはrunlevel 3 で立ち上げることにしました。結果からいうとrunlevel 3 で運用可能です。

(2)runlevel 3 のCUIでどうやって仮想マシンを立ち上げるか。
VMwareそのものはインストールした段階でデーモンとして登録されています。/sbin/chkconfig --listとしてやると、デーモンとして登録されているのがわかります。また、実際OSの立ち上がり時に起動していることが確認できます。
この状態から仮想マシンをどうやって立ち上げるかです。多分、コンソールから起動することが可能なのでしょうが試していません。
(コンソール画面からVMwareのbinファイルの後に、起動したい仮想マシンのvmxファイルを指定してやれば可能なのではないかと思いますが、試してないので何とも言えません。)
まあ、コンソールから仮想マシンを立ち上げたとしても、設定はGUIで行いたいところです。通常、仮想マシンの起動、設定はVMware Server Consoleから行いますが、Xが必要です。runlevel 3 で起動しておいて、startxとしてやって、Xを起動してVMware Server Consoleを起動するということもできます。また、一端仮想マシンを起動しておけば、VMware Server Consoleを終了しても仮想マシンは生きています。さらにX画面からログオフしてXを終了しても、クライアントから接続したリモートヂスクトップには支障がありません。この手もあります。
でもなんとなくスマートでないし、実際に運用し始めると、クライアントが接続中のサーバーでXを立ち上げるという重い処理を行うのは気が進みません。

そこで、VMware Server Consoleをリモートから使用します。クライアントになるVMware Server Consoleは通常使用しているWindows Vistaです。これにWindows版のVMware Server Consoleをインストールします。 VMware Server Console を起動する時にリモートでつなぐか、ホストにつなぐか聞いてきます。ここでリモートを選択して、Host nameに例えば 192.168.1.22:904 とか入れてやります。904はポート番号で、これを指定しないと902がデフォルトで指定されるようです。vmware-config.pl実行時に「ポート902は他で既に使用中なので、904に切り替える」旨、表示がありました。そのポート番号を指定します。
このリモートのVMware Server Consoleで仮想マシンを起動しておけば、サーバーの仮想マシンはリモートディスクトップで同時使用可能です。この状態でVMware Server Consoleを終了しても問題ありません。

サーバーの電源Offやフォルダ操作などは、サーバーでtelnet-serverを立ち上げておけば、これまたリモートからtelnetで行うことができます。
この際、サーバーのホスト名を使用することができませんでした。Tera Termからホスト名を指定してログインできませんでした。仕方ないので、サーバーのIPアドレス(例えば、192.168.1.22とか)を指定してTera Termからログインします。通常rootではログインできないので、他のユーザーをサーバーのホストOSに予め登録しておかなければなりません。
後はいつもの通り、

  $su
  パスワードを入力
  #/sbin/shutdown -h now

としてやればサーバーの電源が切れます。

Vistaのネットワークを調べると、ネットワーク内に仮想マシンのPCだけ見えてサーバーのホスト名が見あたりません。サーバーには共有ホルダを作ってSambaを立ち上げています。そんな状態なので、サーバーの共有ホルダを開くのは「ファイル名を指定して実行」から「192.168.1.22」としています。

それともう一つ、標準インストールではCentOSもWindows同様、自動更新するデーモンが起動しています。自動更新後は、いままで走っていたvmwareデーモンが起動しなくなります。その場合は再度 /usr/bin/vmware-config.pl を実行しなければなりません。本格運用時には自動更新デーモンyum-updatesdは止めてやる方が良いと思います。
/sbin/chkconfig --level 3 yum-updatesd off(runlevel 3 の場合)
としてやります。


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

シンクライアントサーバーデモ機のセットアップ完了まで(4)

2008年06月13日 23時55分12秒 | Weblog
4.仮想マシン
VMware Server のインストールが終われば、後はゲストOSをインストールするだけです。これは簡単にできました。
今回のデモでどうしても確認したかったことは
(1)VMware Serverでリモートディクトップを使用して本当に仮想マシンの同時使用が可能か?
(2)仮想マシンのコピーが可能か?
(3)仮想マシンを同時使用した時の動作速度は?
(4)ミントウェーブのcute-30Uが使用できるか? http://www.mintwave.co.jp/product/product03.html#box_type
(5)仮想マシンからネットワークプリンターに印刷できるか?
ということでした。
この内、今のところ(4)以外は確認できました。全く問題ありません。cute-30Uはメーカーに問い合わせると、RDPでVMware上のWindowsXPと接続可能とのことでした。また、デモ機があるので代理店と相談してほしいと返信を受けました。デモ機は現在手配中です。
(2)の仮想マシンのコピーも簡単で、
http://blogs.yahoo.co.jp/silveryfullmoon/53394539.html
を参考にしました。
最初に一台分のWindowsXPをインストールして初期使用状態までアプリケーション、ドライバ等をインストールしておきます。これがテンプレートになります。この仮想マシンとして/var/lib/vmware/Virtual Machines内にホルダができています。このフォルダごと/var/lib/vmware/Virtual Machine内でコピーペーストします。私の場合は仮想マシンのハードディスク容量を20Gとしましたが、デモ機が低スペックということもあり30分以上かかりました。コピーしたホルダは必要に応じて変更します。
後は、上記ホームページ通り、VMware Server Console から新規マシンを作成する時にcustumで進めて行きます。途中、新たに作成する仮想マシンのホルダを指定するところでは、コピーペーストしたホルダを指定し、既存のハードディスクを指定するところでは、同ホルダ内の.vmdkファイルを指定します。2つリストアップされます。
    hogehoge.vmdk
    hogehoge-flat.vmdk
-flatがつかない、hogehoge.vmdkを選びます。

固定IPを使用していてこのままの状態で、コピーした仮想マシンを立ち上げると、IPアドレスが重複している旨、警告がでるので、ゲストOS内のコントロールパネルからIPアドレスを変更してやります。また、ゲストOSのコンピュータ名も重複しないように変更します。

一応、これでVMware内の複数の仮想マシンに同時接続する環境ができあがりました。
同時接続の確認は同じフロアにあるWinodowsXPとVistaのリモートディクトップから接続することで行いました。販売管理ソフトの起動は相当遅いですが、立ち上がってしまうと動作速度はそこそこです。画像表示色数を落として、デモ機のスペックでもギリギリ使用可能な速度です。本格的にサーバーを導入すればおそらく問題ないと思いますが、実際に運用していみないとハッキリしたことは言えません。

同時稼働も問題ありません。

今回はデモなので、確認ができ次第、インストールした環境は消してしまいますが、本稼働時には各アプリケーションのライセンスについてはよく業者と相談してみるつもりです。

また、(5)のネットワークプリンターへの印刷も問題なしです。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

シンクライアントサーバーデモ機のセットアップ完了まで(3)

2008年06月13日 23時54分24秒 | Weblog
3.CentOS5.1のインストール

VMware Serverのインストールは

http://techno-st.net/2007/03/vmware_server_linux.html

を参考にしてインストールしました。このホームページは本当によく書かれていて全くこの通りに行えば、VMware Serverは容易にインストールできます。
それでも、つまづいてしまったのですが、その原因がCentOSのインストールにありました。
上記ホームページではCentOSを標準インストールした場合を想定して書いてあります。しかし、私はこれまでデータベースサーバーとしてLinuxを使用してきたので、カスタムインストールしてPostgreSQLやWinodowsファイルサーバーを最初からインストールしていました。また、PostgreSQLのコンパイルに必要な開発ツールも最初からインストールしています。
Linuxを勉強し始めた頃、「Linuxの特徴としてカーネルを自由に再構築するために、標準でカーネルのソースコードがインストールされる」という文章を読んだことがあります。また、いつも開発ツールをインストールしているので、ソースコードは当然インストールされているものと思っていました。
VMwareのインストールそのものは.rpmなので簡単です。しかしその後、/usr/bin/vmware-config.plというプログラムを実行してコンフィグしてやらなければなりません。この時、Linuxのカーネルソースが必要になります。/usr/bin/vmware-config.plを実行すると、カーネルソースのホルダーを聞いてくるところでどうしても止まってしまいます。これまで使用していたLinuxでは/usr/src/Linuxにソースホルダがリンクされていることが多く、いつもソースコードがその辺りのホルダには入っていました。しかし、実際に/usr/srcを見てみると、ソースコードがありません。ソールコードをインストールしたことがなかったので、色々調べていて上記ホームページに行き当たりました。ホームページに記載がある通り、Windowsと同様に「アプリケーション」「ソフトウェアの追加と削除」からソースコードをインストールします。
また、もう一つひっかかっていたのは、CentOSのカスタムインストール時に、「仮想マシン」にチェックを入れていました。というのはVMware Serverでうまくいかなかった時はCentOSにあるXenを使用して仮想マシンを作ってみようと思っていたからでした。Xenをインストールしてしまうと、「ソフトウェア追加と削除」に複数のkernel-develがリストアップされてきます。どれを選べばよいのかよくわからないで、間違って選んでしまうと、場合によっては使用しているカーネルとは違ったソースコードで/usr/bin/vmware-config.plが最後まで通ってしまいます。その状態ではvmwareデーモンが起動できず、VMware Server Consoleが立ち上がりません。最初はXenそのものがなにものかよくわからないので、なぜ、複数のkernel-develがリストアップされるのだろうと思っていました。
結局、標準インストールしなおして、上記のホームページ通りに行えば、kernel-develも一つしかリストアップされず、あっさりVMware Serverのインストールまで終了することができました。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする