今回あるサーバーを入れ替える事になった。古いサーバーではSQL SERVER 2000が動作しており、新サーバーではSQL SERVER 2005を使用する予定だ。サーバー入れ替え時にはプログラムが正常に動作するのか検証が必要だ。データベースのテーブルの照合だったらSQL文をで比較してしまえば簡単なのだが、問題は紙に出力する帳票類だ。今回、テストするページ数はA4とA5を合わせて6,000ページ以上!!これを一文字も見逃さずに新旧で照合するのは並大抵の努力ではないし、また、それに要する時間も半端じゃないと思う。2人でやったら1カ月くらいかかるんじゃないの?その後、誤りが判明したらまた照合。これを何回かやったらいい加減イヤになってくると思う。
これを何とかプログラムでできないかと思い、インターネットでPDFを照合するソフトが在るかなと思って検索してみると、Brava DesktopとDiffPDFの2つが見つかった。
早速使い比べてみた。
Brava Desktopは有償のソフト、対するDiffPDFはフリーソフト。どちらが良いかな。
完全に一致しているPDF同士を比較するならば、DiffPDFの圧勝!! DiffPDFは差分があったページだけを抽出して表示してくれるから、完全に一致している場合は結果画面に「2つの文書は一致していると思われる」と少々自信なさげなメッセージを表示してくれる。1,000ページ位あっても所要時間は2分程度。それに対してBrava Desktopは不一致のページだけを抽出表示する機能がないので、1ページずつ黙視で確認していくしかない。これはかなり手間もかかるし、ミスも誘発すると思う。
しかし、帳票にはタイムスタンプがついている事が多い。その場合はどちらのソフトを使用しても全部のページがエラーページとなってしまうので、今度はどこがエラーしているかを正確に把握できる事が重要だ。その場合は、帳票の種類によってBrava DesktopとDiffPDFの両方に軍配が上がる。
照合するPDFによって2つのソフトを使い分けるとより早く照合作業を完了させられる。今回、6,000ページ以上を照合したが、要した時間は1人で8時間程度だった。やはりタイムスタンプの部分やSQL SERVERの返してくる値の順番によって値の印字位置が違う場合に時間を費やしてしまったので、使いながらどちらがより使いやすいかを考えた方が良いと思う。
それにしても、DiffPDFには大いに感謝!!
当部がコンピューターについて経験した中で有益と思われる情報を発信しています。誰か一人にでも有益と思ってもらえれば幸いです。かなりマニアックな情報もありますが by 間中 猛(MANAKA Takeshi)
関東農機株式会社のホームページ
2011年11月9日水曜日
2011年8月22日月曜日
Windows7 デスクトップから一部のショートカットが消えた
先日、ユーザーからデスクトップのショートカットをダブルクリックしても何も開かなくなってしまったと連絡が有り、調査したらLANのL2SWが故障していた。取り敢えず、予備の機器と交換して対処した。
すると、本日、そのユーザーからデスクトップの一部のショートカットが消えていると連絡があった。どうせ、自分で消してしまったんだろと思って適当に対応したが、何となく気になりネットで調べてみた。すると、Windws7 にはコンピューター保守という機能があり、デスクトップのショートカットが消えてしまうことが有ることが判明。
マイクロソフト サポート オンラインの回答
(一部名称が異なっていたのでWindows7 SP1に合わせて変更してあります。)
●現象
Windows 7 を実行しているコンピューターで、デスクトップ上に作成したショートカットが消えます。
●原因
これらのショートカットは、システム保守のトラブルシューティング ツールにより破損していると見なされ、削除されます。
システム保守のトラブルシューティング ツールは、オペレーティング システムの保守を毎週実行します。システム保守のトラブルシューティング ツールは問題を自動的に解決するか、アクション センターを通じて問題を報告します。デスクトップ上で 4 つを超える破損したショートカットが存在する場合、システム保守のトラブルシューティング ツールはデスクトップから破損したショートカットを自動的にすべて削除します。
●回避策
この問題を回避するには、以下のいずれかの方法を使用します。
・方法 1
デスクトップ上の破損したショートカットの数を 4 つ以下に維持します。
・方法 2
デスクトップ上に 4 つを超える破損したショートカットが必要である場合、システム保守のトラブルシューティング ツールを無効にする方法があります。
注: システム保守のトラブルシューティング ツールを無効にすると、これにより実行されるすべての保守タスクが無効になります。そのため、方法 1 を使用することをお勧めします。
システム保守のトラブルシューティング ツールを無効にするには、次の手順を実行します。
[スタート] ボタン元に戻す画像を拡大するをクリックし、[コントロール パネル] をクリックします。
[システムとセキュリティ] で [コンピューターの一般的な問題のトラブルシューティング] をクリックします。
左側のナビゲーション ウィンドウで [設定の変更] をクリックします。
[コンピューター保守] を [無効] に設定します。
XPにはデスクトップのクリーンアップという無用の長物があり、PCをセットアップする度に解除する手間がかかっていたが、Windows7にはそれが無くなって良かったと思っていたら、こんな所に伏兵が潜んでいた。プログラムへのショートカットはリンクが切れることはあまり無いだろうけど、サーバーへのショートカットなんて、ネットワークを経由しているので切れることが有るのは当然なのに(マイクロソフトもそれは認識している)、マイクロソフトは何でこんな面倒な機能を追加したんだろう。
すると、本日、そのユーザーからデスクトップの一部のショートカットが消えていると連絡があった。どうせ、自分で消してしまったんだろと思って適当に対応したが、何となく気になりネットで調べてみた。すると、Windws7 にはコンピューター保守という機能があり、デスクトップのショートカットが消えてしまうことが有ることが判明。
マイクロソフト サポート オンラインの回答
(一部名称が異なっていたのでWindows7 SP1に合わせて変更してあります。)
●現象
Windows 7 を実行しているコンピューターで、デスクトップ上に作成したショートカットが消えます。
●原因
これらのショートカットは、システム保守のトラブルシューティング ツールにより破損していると見なされ、削除されます。
システム保守のトラブルシューティング ツールは、オペレーティング システムの保守を毎週実行します。システム保守のトラブルシューティング ツールは問題を自動的に解決するか、アクション センターを通じて問題を報告します。デスクトップ上で 4 つを超える破損したショートカットが存在する場合、システム保守のトラブルシューティング ツールはデスクトップから破損したショートカットを自動的にすべて削除します。
●回避策
この問題を回避するには、以下のいずれかの方法を使用します。
・方法 1
デスクトップ上の破損したショートカットの数を 4 つ以下に維持します。
・方法 2
デスクトップ上に 4 つを超える破損したショートカットが必要である場合、システム保守のトラブルシューティング ツールを無効にする方法があります。
注: システム保守のトラブルシューティング ツールを無効にすると、これにより実行されるすべての保守タスクが無効になります。そのため、方法 1 を使用することをお勧めします。
システム保守のトラブルシューティング ツールを無効にするには、次の手順を実行します。
[スタート] ボタン元に戻す画像を拡大するをクリックし、[コントロール パネル] をクリックします。
[システムとセキュリティ] で [コンピューターの一般的な問題のトラブルシューティング] をクリックします。
左側のナビゲーション ウィンドウで [設定の変更] をクリックします。
[コンピューター保守] を [無効] に設定します。
XPにはデスクトップのクリーンアップという無用の長物があり、PCをセットアップする度に解除する手間がかかっていたが、Windows7にはそれが無くなって良かったと思っていたら、こんな所に伏兵が潜んでいた。プログラムへのショートカットはリンクが切れることはあまり無いだろうけど、サーバーへのショートカットなんて、ネットワークを経由しているので切れることが有るのは当然なのに(マイクロソフトもそれは認識している)、マイクロソフトは何でこんな面倒な機能を追加したんだろう。
2011年7月18日月曜日
Office File Validation (OFV) アドインがインストールされた Excel 2003 でネットワーク上のファイル共有から XLS ファイルを開く時に時間がかかる
以下は、Excel2003のBookのファイル名、ファイルサイズとそのファイルが開くまでの所要時間の一覧だ。計測は同じファイルを3度試行している。計測は手元にあったストップウォッチで計測したので、アバウトだ。ファイルはLAN上のサーバーに保存されている。
book名 ファイルサイズ(Byte) 計測1回目、2回目、3回目
book1.xls 92,160Byte 8秒、8秒、8秒
book2.xls 95,232Byte 8秒、8秒、8秒
book3.xls 920,064Byte 48秒、48秒、48秒
book4.xls 2,285,056Byte 147秒、135秒、131秒
book1.xlsを開くまでに8秒かかっている。ファイルサイズは僅か90KBなのに。驚くのはbook4の時間だ。なんと2分以上かかっている。
実はこれ、office file validation add-inをインストール後の時間。
さて、office file validation add-inをアンインストールして計測すると、全部がほぼ瞬時に開く。ストップウォッチでは計測しようがない。 刹那。
つまり、マイクロソフトが Office ファイル検証機能としてWindows Updateで配付した重要な更新プログラム(office file validation add-in)を適用すると、この様にネットワーク上のBookを開く時間が大幅に増える。Book4.xlsなんて仕事にならない。
これに対して、マイクロソフトはブログで次のように回答している。
「Office ファイル検証機能 (OFV) の効果について考える」
http://blogs.technet.com/b/jpsecurity/archive/2011/07/06/3439785.aspx
故に、我が社ではoffice file validation add-inは適用しないこととする。我が社ではWSUS(Windows Server Update Services)で一括管理しているから、ユーザーがやることは何もないから安心して。
P.S マイクロソフトがこれの対策を3つ公開しているが、腹が立つのは「Excel 2007 または Excel 2010 を使用する 」だってさ。Excel2003なんて古いものをつかっていないでさっさと新しいExcelを使えと言われてるような気がする。
book名 ファイルサイズ(Byte) 計測1回目、2回目、3回目
book1.xls 92,160Byte 8秒、8秒、8秒
book2.xls 95,232Byte 8秒、8秒、8秒
book3.xls 920,064Byte 48秒、48秒、48秒
book4.xls 2,285,056Byte 147秒、135秒、131秒
book1.xlsを開くまでに8秒かかっている。ファイルサイズは僅か90KBなのに。驚くのはbook4の時間だ。なんと2分以上かかっている。
実はこれ、office file validation add-inをインストール後の時間。
さて、office file validation add-inをアンインストールして計測すると、全部がほぼ瞬時に開く。ストップウォッチでは計測しようがない。 刹那。
つまり、マイクロソフトが Office ファイル検証機能としてWindows Updateで配付した重要な更新プログラム(office file validation add-in)を適用すると、この様にネットワーク上のBookを開く時間が大幅に増える。Book4.xlsなんて仕事にならない。
これに対して、マイクロソフトはブログで次のように回答している。
「Office ファイル検証機能 (OFV) の効果について考える」
http://blogs.technet.com/b/jpsecurity/archive/2011/07/06/3439785.aspx
故に、我が社ではoffice file validation add-inは適用しないこととする。我が社ではWSUS(Windows Server Update Services)で一括管理しているから、ユーザーがやることは何もないから安心して。
P.S マイクロソフトがこれの対策を3つ公開しているが、腹が立つのは「Excel 2007 または Excel 2010 を使用する 」だってさ。Excel2003なんて古いものをつかっていないでさっさと新しいExcelを使えと言われてるような気がする。
2011年6月15日水曜日
パソコンがスリープ状態にならないときのチェック方法(Windows 7)
弊社も東電管轄内なので、15%の節電をせざるを得ないので、会社のパソコンを未使用時にスリープに移行するように設定を始めた。その中で、パソコンがスリープにならなかったり、また、スリープになっても直ぐに復帰してしまう現象が見受けられた。
マイクロソフトのWEBサイトにその原因を特定する為の調査コマンドが掲載されていたのでそのコマンドを記しておく。
powercfg /energy -output %USERPROFILE%\Desktop\energy.html
これを実行すると、1分間のシステム監視を行ってデスクトップにログを出力するので、「エラー」項目にスリープ移行を妨げているデバイスドライバなどがないか確認する。幾つもエラー項目が出るが、通常はそれでも問題なくスリープに入れるみたい。
自分のパソコンで実行してみたら、確かに原因が特定できた。
マイクロソフトのWEBサイトにその原因を特定する為の調査コマンドが掲載されていたのでそのコマンドを記しておく。
powercfg /energy -output %USERPROFILE%\Desktop\energy.html
これを実行すると、1分間のシステム監視を行ってデスクトップにログを出力するので、「エラー」項目にスリープ移行を妨げているデバイスドライバなどがないか確認する。幾つもエラー項目が出るが、通常はそれでも問題なくスリープに入れるみたい。
自分のパソコンで実行してみたら、確かに原因が特定できた。
2011年6月9日木曜日
最近のウイルス
ある日、厚生労働省からあなた宛にメールが届きました。
「厚生労働省からのメールか、珍しいな。お!?、添付ファイルが有る。なになに。」
放射線被ばくに関する基礎知識.exe.doc
普段からウイルスに感染しないように注意を払っているあなたは、メールの添付ファイルは直接開かず、一旦自分のパソコンにダウンロードし確認してから開きます。
さて、今回のファイルは、プロパティをみても放射線被ばく・・・、会社名は厚生労働省となっており、
アイコンもワードのアイコンになっており、ファイルの拡張子もdocとなっています。
これは間違いなく厚生労働省から送られてきたワード文書だと思い安心してファイルを開きました。
ファイルを開く前にあれだけ注意をしていたのに、何故分からなかったのでしょう。
実は、最近こういったウイルスが増えてきているそうです。ファイルの名前の途中に文字を右から左に表示する制御コードを埋め込むと、この様な事が可能になってしまいます。本当のファイル名は 放射線被ばくに関する基礎知識.cod.exeなのですが、RLOを使いファイル名を放射線被ばくに関する基礎知識.exe.docに見せかけています。
実際のウイルスはこんな画面は一切表示せず、見えない所で活動します。
従って、今回のような方法でウイルスに感染した場合は、感染したことに気付かない可能性が高いです。
それでは我々利用者はどのような点に気をつければ良いのでしょうか。
原則は、普段メールのやり取りをしていない人からのメールは、どんなに信用できる法人であっても団体、国の機関であっても、疑ってかかり、添付ファイルは開かない。どうしても開く必要が有る場合は、次の点を確認します。
一つは種類です。下に、本当のワード文書と今回のウイルスを比較の為に2つ並べて表示しました。本当のワード文書は種類に「Microsoft Word 文書」と表示されており、一方、ウイルスは「アプリケーション」と表示されています。従って、ここを確認すればこのファイルはワード文書ではなくプログラムだと言うことが分かります。
もう一つは、ファイル名の中に.exeやexe.と言う文字が入っていたら絶対に開かない。exeの前または後ろに.(ピリオド)が無ければ問題有りません。普通、ファイル名の中に.exeやexe.という文字は使いませんから。この2つの点に気をつけてもらえれば、こういった方法で侵入しようとするウイルスは防げると思います。
その他、セキュリティー対策ソフトのウイルス定義ファイルは常に最新の状態にしておくことは肝要です。
「厚生労働省からのメールか、珍しいな。お!?、添付ファイルが有る。なになに。」
放射線被ばくに関する基礎知識.exe.doc
普段からウイルスに感染しないように注意を払っているあなたは、メールの添付ファイルは直接開かず、一旦自分のパソコンにダウンロードし確認してから開きます。
さて、今回のファイルは、プロパティをみても放射線被ばく・・・、会社名は厚生労働省となっており、
アイコンもワードのアイコンになっており、ファイルの拡張子もdocとなっています。
これは間違いなく厚生労働省から送られてきたワード文書だと思い安心してファイルを開きました。
すると、
ジャーン、何と、添付されていたファイルはワード文書ではなく、ウイルスでした。
ファイルを開く前にあれだけ注意をしていたのに、何故分からなかったのでしょう。
実は、最近こういったウイルスが増えてきているそうです。ファイルの名前の途中に文字を右から左に表示する制御コードを埋め込むと、この様な事が可能になってしまいます。本当のファイル名は 放射線被ばくに関する基礎知識.cod.exeなのですが、RLOを使いファイル名を放射線被ばくに関する基礎知識.exe.docに見せかけています。
実際のウイルスはこんな画面は一切表示せず、見えない所で活動します。
従って、今回のような方法でウイルスに感染した場合は、感染したことに気付かない可能性が高いです。
それでは我々利用者はどのような点に気をつければ良いのでしょうか。
原則は、普段メールのやり取りをしていない人からのメールは、どんなに信用できる法人であっても団体、国の機関であっても、疑ってかかり、添付ファイルは開かない。どうしても開く必要が有る場合は、次の点を確認します。
一つは種類です。下に、本当のワード文書と今回のウイルスを比較の為に2つ並べて表示しました。本当のワード文書は種類に「Microsoft Word 文書」と表示されており、一方、ウイルスは「アプリケーション」と表示されています。従って、ここを確認すればこのファイルはワード文書ではなくプログラムだと言うことが分かります。
もう一つは、ファイル名の中に.exeやexe.と言う文字が入っていたら絶対に開かない。exeの前または後ろに.(ピリオド)が無ければ問題有りません。普通、ファイル名の中に.exeやexe.という文字は使いませんから。この2つの点に気をつけてもらえれば、こういった方法で侵入しようとするウイルスは防げると思います。
その他、セキュリティー対策ソフトのウイルス定義ファイルは常に最新の状態にしておくことは肝要です。
2011年6月3日金曜日
VB.NET CSVファイルをデータテーブルに読み込む方法について検証
業務上必要に迫られて今回3つの方法を検証したが、結果的にはMicrosoft.VisualBasic.FileIO.TextFieldParserに軍配が上がった。
方法1)
System.IO.StreamReaderクラスでレコードを1行ずつ読み込み、読み込んだレコードをSystem.String.Splitメソッドを使ってカンマでセパレートし、データテーブルに格納する。
結果)
ダブルクォーテーション中に在るカンマを区切り文字として認識してしまい、一つの文字列が2つの文字列に分けられてしまう現象が発生。でも、実数は正しく読み込まれた。また、コードが多く可読性が低い。
方法2)
OleDbConnectionクラスとOleDbDataAdapterクラスを使い、データテーブルに格納する。
結果)
文字列は正しく読み込まれたが、実数の小数点以下が読み込まれない現象が発生。予めデータテーブルにフィールドを追加しておき、そのフィールドのデータ型にDECIMALを指定しておいても変わらなかった。コードは少なく可読性が高い。
方法3)Microsoft.VisualBasic.FileIO.TextFieldParserクラスと同クラスReadFieldsメソッドを使い、データテーブルに格納する。
結果)
文字列も実数も正しく読み込まれた。コードは少なく可読性が高い。
番外編)
この他にもネットには方法が存在していた。スピードを求めるならば、既存のクラスを使用するのではなく、自力で解析コードを書くことみたいだ。
方法1)
System.IO.StreamReaderクラスでレコードを1行ずつ読み込み、読み込んだレコードをSystem.String.Splitメソッドを使ってカンマでセパレートし、データテーブルに格納する。
結果)
ダブルクォーテーション中に在るカンマを区切り文字として認識してしまい、一つの文字列が2つの文字列に分けられてしまう現象が発生。でも、実数は正しく読み込まれた。また、コードが多く可読性が低い。
方法2)
OleDbConnectionクラスとOleDbDataAdapterクラスを使い、データテーブルに格納する。
結果)
文字列は正しく読み込まれたが、実数の小数点以下が読み込まれない現象が発生。予めデータテーブルにフィールドを追加しておき、そのフィールドのデータ型にDECIMALを指定しておいても変わらなかった。コードは少なく可読性が高い。
方法3)Microsoft.VisualBasic.FileIO.TextFieldParserクラスと同クラスReadFieldsメソッドを使い、データテーブルに格納する。
結果)
文字列も実数も正しく読み込まれた。コードは少なく可読性が高い。
番外編)
この他にもネットには方法が存在していた。スピードを求めるならば、既存のクラスを使用するのではなく、自力で解析コードを書くことみたいだ。
2011年6月2日木曜日
番外編 しゃべるねこ、しおちゃん
下手な説明は必要ありません。見てもらえば分かります。とても可愛い。可愛すぎる。最高だ!!
http://www.youtube.com/watch?v=hJYlXaFdp0o&hl=ja&gl=JP&warned=True&client=mv-google
http://www.youtube.com/watch?v=hJYlXaFdp0o&hl=ja&gl=JP&warned=True&client=mv-google
登録:
投稿 (Atom)