PDF署名プラグイン インストールできない ”Acrobatをインストールしてください”

登記ねっと で、PDF電子署名プラグインをインストールしようと思ったら、エラーでインストールできない。別のPCで試しても同じ。むむむ。

ぐぐっても解決せず、2時間無駄にしたのでここに書いておきます。

■解決策

https://www.touki-kyoutaku-online.moj.go.jp/cautions/append/pdf_operation.html

Acrobat にバージョン指定がりました。

11 か DC だそうです。

Acrobat以外には SkyPDF とかでもできるかもって。

 

 

SQLServer カーソル データがおかしい?? 普通にSELECT時と違う??

カーソルを回してINSERTとかしたら、なぜか件数が少ない?!
例えば・・・

DECLARE カーソル1 CURSOR FOR
SELECT 注文番号,品物番号 FROM テーブル1
WHERE 注文番号 NOT IN (SELECT 注文番号 FROM テーブル2)
OPEN カーソル1
FETCH NEXT FROM カーソル1 INTO @col1,@col2
WHILE (@@FETCH_STATUS=0)
BEGIN
INSERT INTO テーブル2(注文番号,品物番号) VALUES(@col1,@col2)
FETCH NEXT FROM カーソル1 INTO @col1,@col2
END
CLOSE カーソル1
DEALLOCATE カーソル1

あまり上手な例ではありませんが、注文番号が存在しないレコードをテーブル2へ入れようとしています。

これうまくいきません。

やってみると分かりますが、注文番号1つにつき、1レコードしか追加されません。詳しく調べていませんが、どうやら、FETCH NEXT した際に、カーソルのSELECTが再評価されているようです。
「注文番号 NOT IN」なんてやっているので、1レコード追加した段階で再評価されると条件にヒットしなくなる。

一時テーブルに入れてから、それをカーソルで回すとうまくいきます。

ちなみに、カーソルのSELECT文が複雑な場合は、一時テーブルに一旦保存してから、それをカーソルで回すほうが数百倍、いや数万倍?、いやいや数百万倍?、とにかくそのほうが速いです。

教訓・・・カーソルは単純なSELECT文で。

PHPから Excel用 UTF8のCSVの出力

PHPから Excel用 UTF8のCSVを出力します。

  • Excelで開きたい。
  • 汎用のCSV形式にしたい。Excel専用にはしたくない。
  • 改行が含まれるデータが存在する。
  • UTF-8 のままで出力したい。Shift-JISへ変換できない文字が含まれている。

※ ExcelのCSVはShift-JISで、改行コードが混在します。ファイルをダブルクリックで開く場合と、テキストファイルの読み込みで開く場合とで挙動が異なります。

解決策

この2つがポイントです。

  • 拡張子を.csvにする
  • 先頭にUTF8を宣言するBOMを付ける

実際のコードです。

<?php
header("Cache-Control: public");
header("Pragma: public");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=data.csv");

//BOM
echo pack('C*',0xEF,0xBB,0xBF);

//データはここから
foreach($rows as $row){
    echo ・・・
}

WordPress マルチサイトでメール投稿

メール投稿の設定

設定 → 投稿設定 → メールでの投稿

ただし、マルチサイトの場合この項目が非表示になっています。

解決策

wp-config.php に 1行追加しましょう。

define( 'POST_BY_EMAIL', true );

追加情報 ※重要

WordPress のビルトインメール投稿機能は非推奨になっており、今後のリリースで削除される予定です。代わりに上記のプラグインを使ってください。インストール・設定については各プラグインのドキュメンテーションを参照してください。
参照: WordPressCodex メールによるブログ投稿

って、いうことらしい… -_-メ

Softether VPN Error 720

エラー 720 で接続できない

Softether VPN をインストールしたPCは無線接続ではないですか?

⇒ 「仮想NATおよび仮想DHCPサーバー機能」の「SecureNAT機能を有効にする」 を選択しましょう。

参考: http://www.vpnazure.net/ja/ ローカルブリッジの設定

 

(おまけ) エラー691 で接続できない

⇒ ユーザーを削除し、再作成しましょう

HP MicroServer N54L のRaidXpert Download link

いつも迷子になるのでメモ

AMD Chipset Drivers

 Windows7 の場合は、
「Supports Windows Vista」の
  • AMD Raid Drivers
  • AMD Chipset Drivers
  • AMD RAIDXpert Utility
をインストール。

同期しない問題

オフラインの管理ツール「Rom-Based Setup Utility」(POST画面で [Ctrl] + [F] キー)と、オンラインのRAIDXpert Uttility とで、表示される構成内容や状態に相違がある場合(あれこれ試行錯誤したが解決できなかった)、オンライン版RAIDXpert Uttilityで構成すべき。障害時の復旧はオンライン版でしかできない。※追伸参照

追伸 ※重要

上記の状態でオンライン版で行った構成は、OS再インストール時にRAID構成が消えます。各HDDにデータは残っているので復旧は可能ですが、同じHDDを使ってRAIDを再構築するためには、各HDDが初期化さてしまうため、データの退避が必要です。

オフライン版で構成した場合

  • 障害復旧時に新しいHDDを装着しても再構築できない(RAID構成を初期化する必要あり)
  • OS再インストールしてもRAID構成は維持される
  • HDDの健康状態は、起動時に数秒表示されるPOST画面で確認するしかない

オンライン版で構成した場合

  • 障害復旧時に新しいHDDを装着すれば再構築できる
  • OS再インストールするとRAID構成が消える(RAID構成を初期化する必要あり)
  • HDDの健康状態は、いつでもRAIDXpert Uttility で確認できる

なんと、、どう頑張ってもRAID構成を初期化する必要があります。

表示される構成内容や状態に相違がある場合は、このあたりを考慮した上で、オフライン版で構成するか、オンライン版で構成するかを検討すべきです。

オンライン版RAIDXpert Uttility のダウンロードURLの情報は、HPサイトにもありません。サポートに問い合わせてもAMDへ問い合わせてくださいと言われます。
HPファンだったんだけどなぁ、、次はこのあたりかな

PJLink 「NTCONTROL 0」 「ERR1」

久々にハマりましたので、情報を残しておきます。

問題:Panasonic モニタをPJLinkで操作したいのだけれど、うまくつながらない。

NTCONTROL 0

「NTCONTROL 0」 と応答がある場合、そもそも接続が間違っているようです。
どう頑張っても「ERR1」って帰ってきますよね。Pnasonicディスプレイ専用のLAN制御プロトコルの待ち受けポートに接続してしまっています。1024ポートに接続していませんか?

“00PON” + chr(13)
“00POF” + chr(13)

等のコマンドで制御するようです。
参考 https://v-control.com/forums/topic/panasonic-new-generation-21k-13k-etc-via-lan/

 

解決策

PJLinkの待ち受けポートは  4352 みたいです。

「PJLINK 0」とか「PJLINK 1」って応答があれば成功です。あとは仕様書どおりで大丈夫です。

TCPDFの地雷 このページにはエラーがあります。Acrobatはページを正しく表示できない場合があります。PDF文書の作成者に連絡して、問題を解決してください。

adobe-error.fw

TCPDF の writeHTML() でPDFを作成している場合に発生します。Adobe製品だけエラーメッセージでPDFが表示できず、Chromeで開発していると正常表示の為気づかないという、なんともおかしな現象です。

原因

わかりません。。

HTMLの構造や属性で発生するようです。

対策

体当たり的に経験値を上げるしかありません。。

エラーを経験したHTMLコード

  • <table align=”right”> 「align=”right”」を削除すると正常になった
  • <div><table> 属性なしの場合 <div>を削除すると正常になった
  • <div><div> 属性なしの場合 <div><div>を削除すると正常になった