SQL SERVERを使っている環境で、二つのテーブルを比較して同じ値が存在したら片方のテーブルからレコードを削除する方法について書いてみる。
例えば、テーブルAとテーブルBが存在し、各々のテーブルにフィールドとして項目1、項目2、項目3が在るとする。
そして、項目1、項目2、項目3の3つのフィールドが一致したら、テーブルAから削除したいとする。
SQL文
DELETE A
FROM テーブルA AS A INNER JOIN テーブルB AS B ON
( A.項目1 = B.項目1) AND
( A.項目2 = B.項目2) AND
( A.項目3 = B.項目3)
当部がコンピューターについて経験した中で有益と思われる情報を発信しています。誰か一人にでも有益と思ってもらえれば幸いです。かなりマニアックな情報もありますが by 間中 猛(MANAKA Takeshi)
関東農機株式会社のホームページ
2015年12月2日水曜日
2015年9月3日木曜日
HDDのデュプリケーター
設計が使用しているPCでHDDのリードエラーが発生した。取り敢えず問題なく動作している様に見えるが、念の為に保守契約しているベンダーにHDDの交換を依頼した。
ハードのみの保守契約なので保守員はHDDを交換するがOS等のインストールは自分自身で行うことになる。
設計のPCにはCADソフトがインストールされている。このソフトのインストールと環境設定がとても面倒なのだ。慣れないと1日がかりの作業になってしまう。あ~、面倒だと思っていたときにネットでHDDのコピーというキーワードで検索したところ、玄人指向のKURO-DACHIがヒット。
近所のPC DEPOTに在庫有りとの事でPC DEPOTに買いに走った。税込みで6,020円。
ベンダーの保守員が到着したので事情を説明し、PCから取り外したHDDと新品のHDDを預り早速デュプリケート。
今回、7,200rpmの500GのHDDをデュプリケートしたが、所要時間は1時間30分。この時間だけをみると長い気もするが、まっさらなHDDを動作するまでに設定する作業時間の1日半と比較すれば実に短時間。また、利用者も早く仕事に復帰できるので、二人合わせて3人日の工数が削減できた。
このデュプリケートしたHDDでPCが起動したとき、保守員も6,020円ならば私も買おうかなと言っていた。
ハードのみの保守契約なので保守員はHDDを交換するがOS等のインストールは自分自身で行うことになる。
設計のPCにはCADソフトがインストールされている。このソフトのインストールと環境設定がとても面倒なのだ。慣れないと1日がかりの作業になってしまう。あ~、面倒だと思っていたときにネットでHDDのコピーというキーワードで検索したところ、玄人指向のKURO-DACHIがヒット。
近所のPC DEPOTに在庫有りとの事でPC DEPOTに買いに走った。税込みで6,020円。
ベンダーの保守員が到着したので事情を説明し、PCから取り外したHDDと新品のHDDを預り早速デュプリケート。
今回、7,200rpmの500GのHDDをデュプリケートしたが、所要時間は1時間30分。この時間だけをみると長い気もするが、まっさらなHDDを動作するまでに設定する作業時間の1日半と比較すれば実に短時間。また、利用者も早く仕事に復帰できるので、二人合わせて3人日の工数が削減できた。
このデュプリケートしたHDDでPCが起動したとき、保守員も6,020円ならば私も買おうかなと言っていた。
HDDのデュプリケーター、仕事の必需品となりそうな予感。
2015年6月8日月曜日
QRコードを読み取りメーラーを立ち上げるコマンド
当社では通信キャリアとしてKDDIと契約しているので、以下の内容はAUの場合であり、かつ確認した機種も限定的。他の機種やキャリアについては未確認。
宛先メールアドレス、メール題名およびメール本文をQRコード化し、それを携帯電話やスマホで読み取り、Gmailで簡単にメール送信出来るようにする。尚、ここでは、コマンドをQRコード化する部分については触れていない。
1) 携帯電話(E05SH)
MATMSG:TO:hogehoge@hoge;SUB:題名をここへ;BODY:本文をここへ;;
をQRコード化すれば良い。それだけである。とても簡単。
2) スマホ(TORQUE)
QRコードは携帯電話と同様
QRコード読み取りアプリは、ZXing TeamのQRコードスキャナーを使用。因みに、イクス(株)、TWMobileのアプリは正しくメールが作成されなかった。
3) スマホ(iPhone5S)
mailto:hogehoge@hoge?Subject=題名をここへ&body本文をここへ
をQRコード化すれば良い。
QRコード読み取りアプリは、QR&Barcodeを使用。
スマホはどの機種でも同じだろうと思っていたら、TORQUEとiPhone5Sではメーラーを起動するコマンドが異なっていたのは驚きだった。逆に、E05SHとTORQUEで同じQRコードが利用できるのは評価できる。E05SHはシャープ製、TORQUEは京セラ製と、国産機種はAUの意向で同じ物がつかえるという事なのだろうか?
2015年5月7日木曜日
Microsoft Office 2013のライセンス移行
PCを買替えた場合、旧PCにインストールしてあるMicrosoft Office 2013(以下、オフィス)のライセンスは新PCに移行が可能なのか。
マイクロソフト ライセンス認証窓口に電話して確認してみた。
その結果、パッケージ版の場合はライセンスの移行が可能であり、その作業も簡単。
作業は、移行元PCからオフィスをアンインストール後、移行先PCにオフィスをインストールするだけだそうだ。
何と簡単なのだろう。感心。
2014年12月16日火曜日
VB.NET DotNetBarcodeクラスライブラリを使用してQRコードを印刷する
QRコードを印刷するのに便利なフリーソフトDotNetBarcodeクラスライブラリをVB.NETで使用した。その際、DotNetBarcodeクラスライブラリが生成するSystem.Drawing.Graphicsを印刷する方法が分からず悩んだのでここで紹介。
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
' QRコードの幅
Dim width As Integer = 100
' QRコードの高さ
Dim height As Integer = width
' QRコードを印刷する座標X
Dim positionX As Integer = 0
' QRコードを印刷する座標Y
Dim positionY As Integer = 0
' QRコードとして書き込む文字列
Dim qRString As String = "QR CODE"
' 100x100サイズのImageオブジェクトを生成する
Dim qRCodeBitMap As Bitmap = New Bitmap(width, height)
' ImageオブジェクトのGraphicsオブジェクトを作成する
Dim qRCodeGraphics As Graphics = Graphics.FromImage(qRCodeBitMap)
' DotNetBarcodeオブジェクトを生成する
Dim bc1 As System.DotNetBarcode = New System.DotNetBarcode
' QRコードに変更する
bc1.Type = DotNetBarcode.Types.QRCode
' CheckDigit文字を表示する
bc1.PrintCheckDigitChar = True
' GraphicsオブジェクトにQRコードを書き込む
bc1.WriteBar(qRString, 0, 0, width, height, qRCodeGraphics)
' Imageオブジェクトを印刷する
e.Graphics.DrawImage(qRCodeBitMap, positionX, positionY)
' Graphicsオブジェクトを解放する
qRCodeGraphics.Dispose()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
' QRコードの幅
Dim width As Integer = 100
' QRコードの高さ
Dim height As Integer = width
' QRコードを印刷する座標X
Dim positionX As Integer = 0
' QRコードを印刷する座標Y
Dim positionY As Integer = 0
' QRコードとして書き込む文字列
Dim qRString As String = "QR CODE"
' 100x100サイズのImageオブジェクトを生成する
Dim qRCodeBitMap As Bitmap = New Bitmap(width, height)
' ImageオブジェクトのGraphicsオブジェクトを作成する
Dim qRCodeGraphics As Graphics = Graphics.FromImage(qRCodeBitMap)
' DotNetBarcodeオブジェクトを生成する
Dim bc1 As System.DotNetBarcode = New System.DotNetBarcode
' QRコードに変更する
bc1.Type = DotNetBarcode.Types.QRCode
' CheckDigit文字を表示する
bc1.PrintCheckDigitChar = True
' GraphicsオブジェクトにQRコードを書き込む
bc1.WriteBar(qRString, 0, 0, width, height, qRCodeGraphics)
' Imageオブジェクトを印刷する
e.Graphics.DrawImage(qRCodeBitMap, positionX, positionY)
' Graphicsオブジェクトを解放する
qRCodeGraphics.Dispose()
End Sub
2014年10月23日木曜日
VB.NET WebBrowserのバージョンはいくつ?
とあるシステム専用のWEBブラウザーを作るにあたり、VB.NETのWebBrowserコントロールを使用した。
コーディングが完了し、早速Webサイトを表示したらcss3を使用した部分が見事に崩れている。原因は、WebBrowserのバージョンにあった。デフォルトのままでWebBrowserを使用するとie7で動作する。今どきデフォルトがie7とは困ったものだ。
参考までに、WWWサーバー側で取得したブラウザー情報は以下の通り。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
バージョンを任意のバージョンに変更するには、
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]に新たに値を追加する。追加する値は、プログラム名=ieのバージョン
例えば、"AcroRd32.exe"=dword:0000270f
私は常に最新版を使用したいので、最大値のdword:ffffffffを指定した。
この時はこれで上手く行ったのだが後日正常に動作しないことがあったので、AcroRd32.exeと同じ値に変更した。これで期待通りに動作した。2014/11/06変更
これで思った通りに表示することが出来た。
補足)
正式な実行プログラム名がhogehoge.exeだとすると、Visual Studioでデバッグ中は実行プログラム名がhogehoge.vshost.exeになるので、レジストリには両方登録しておいた方が便利だよ。
コーディングが完了し、早速Webサイトを表示したらcss3を使用した部分が見事に崩れている。原因は、WebBrowserのバージョンにあった。デフォルトのままでWebBrowserを使用するとie7で動作する。今どきデフォルトがie7とは困ったものだ。
参考までに、WWWサーバー側で取得したブラウザー情報は以下の通り。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
バージョンを任意のバージョンに変更するには、
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]に新たに値を追加する。追加する値は、プログラム名=ieのバージョン
例えば、"AcroRd32.exe"=dword:0000270f
この時はこれで上手く行ったのだが後日正常に動作しないことがあったので、AcroRd32.exeと同じ値に変更した。これで期待通りに動作した。2014/11/06変更
これで思った通りに表示することが出来た。
補足)
正式な実行プログラム名がhogehoge.exeだとすると、Visual Studioでデバッグ中は実行プログラム名がhogehoge.vshost.exeになるので、レジストリには両方登録しておいた方が便利だよ。
2014年8月22日金曜日
Got a packet bigger than 'max_allowed_packet' bytes
WWWサーバーをWebARENA Suite X V1からV2に移行することになり、WrodPressのMYSQLデータベースをV1からエクスポートし、V2にインポートした。その際、首題のエラーが発生した。
これは、WebARENA Suite X V2 高機能データベースのmax_allowed_packetの設定値が1MBであり、かつインポートしようとしたファイル中にこの設定値を超えるデータがあったので、インポート出来ないと言うことみたいだ。
WebARENAのテクニカルサポートに電話で問い合わせたら、max_allowed_packetの設定値を一時的に最大値の12MBにまで拡大してくれた。これにより、無事インポート作業が完了した。
V1とV2とでは設定値に差があるとサポートの方が説明してくれた。
これは、WebARENA Suite X V2 高機能データベースのmax_allowed_packetの設定値が1MBであり、かつインポートしようとしたファイル中にこの設定値を超えるデータがあったので、インポート出来ないと言うことみたいだ。
WebARENAのテクニカルサポートに電話で問い合わせたら、max_allowed_packetの設定値を一時的に最大値の12MBにまで拡大してくれた。これにより、無事インポート作業が完了した。
V1とV2とでは設定値に差があるとサポートの方が説明してくれた。
登録:
投稿 (Atom)
