3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

2018-01-01から1年間の記事一覧

(.NET)DataReaderで取得したデータをDataTableとしてもつ方法

接続型でDBにクエリを実行した場合、結果はDateReaderで取得することになるかと思います。 その結果をさくっとDataTableに変換したいという場合は、DataTable.Loadメソッドを使うといいようです。 例えば System.Data.SQLite ライブラリを使った場合はこんな…

(.NET,SQLite)共有フォルダのデータベースファイルに接続するには...

System.Data.SQLite ライブラリを使って共有フォルダのデータベースファイルに接続するには、以下のようにしたのではダメでした。 using (var conn = new SQLiteConnection(@"Data Source=\\srv01\share\hoge.sqlite")){ .... } 以下のように、余分に \ を付…

(.Net,SQLite)データベースにSQLiteを使ってみた

.Netアプリでスタンドアロンデータベースを使うときはいつもMDBを使ってたんですが、今回はじめてSQLiteを使ってみました。 .Netアプリケーションから SQLite にアクセスする方法はいくつかあるらしいですが、今回はVB.NETから組み込みデータベースのSQLite…

(.Net)動的に列挙型の値を取得したい(文字列から列挙型の値にしたい)

列挙型の値を指定するときに、動的に出来れば便利って思ってました。 例えば、 enum Hoge{ alpha, bravo, charlie, delta, echo } という列挙型があって、設定ファイルから読み込んだ文字列値を元にこの列挙型を設定したい時などです。 そのような場合は、以…

(.Net)C#から遅延バインディングでExcelファイルに読み書きする

以前に、.Net(C#)アプリからExcelのVBAを呼び出したい(遅延バインディング)で、C#からマクロを実行する方法を書きました。今回は、より一般的なセルへの読み書き方法のメモです。 開発マシンのExcelのバージョンに左右されないように遅延バインディングでア…

(.Net)キャストを動的に行いたい

例えば、外部ファイルに値とそれに対応する型が書かれており、それを.Netアプリで読み込んだ時に、ファイルに記述された型に合わせて値を変数化してやりたいといった場合の方法です。 この場合、Convert.ChangeType メソッドを使ってやるといいようです。 Ty…

(SQLite)Select句で計算をした場合に小数にする方法

例えば以下のようなテーブルがあるとします。(全てINTEGER型) key num1 num2 1 10 3 2 10 8 3 30 11 で、num2 の num1 に対する割合をSQL実行時に求めたいとします。 当初以下のようにしてました。 select key , num1 , num2 , num2/num1 as res from tbl し…

SQLiteは日付型がない

SQLiteのカラムの型には日付型がありません。 日付型として保存したい場合は、テキスト型のカラムで以下のような書式で保存するといいようです。 ・日付のみ。 YYYY-MM-DD ・時刻も含む場合。 YYYY-MM-DD HH:MM:SS SQLiteで日付指定のみで演算する場合は以下…

(SQLite)FULL OUTER JOINの代用方法

以前,(SQL)Access(JET)で FULL OUTER JOIN を行うで、FULL OUTER JOINをサポートしていないAccessで完全外部結合を行う方法を書きました。 SQLiteもFULL OUTER JOINがサポートされていないので、完全外部結合を行う場合同様の方法を用いてやる必要があります…

(ESET)HIPSを無効にしたらセキュリティアラートが表示される

ESET Endpoint AntiVirusをver6.5にバージョンアップしました。 設定はESET Remote Administrator(ERA)を使って集中管理しています。 ERAポリシーでHIPSを無効として運用しているんですが、V6.5にするとHIPSが無効になっているとセキュリティアラートが表示…

(Windows10)高速スタートアップをグループポリシーで無効化する

高速スタートアップと言うのはWindows8くらいから搭載された機能で、OSブート時にデバイスドライバの読み込み・初期化を行わず、直近のシャットダウン時の状態をハイバネーションファイルから読み込んで起動を高速化するものです。(シャットダウン時にデバイ…

(.Net)固定長のテキストデータを読み込むための汎用的な方法

固定長のテキストデータを読み込んで何か処理をさせたいという場合で、テキストデータのフィールドの桁数がしょっちゅう変わるのでそのたびにソースを直すのは大変という事態が発生しました。 なので、読み込むテキストデータのフィールドを外部ファイルで定…

ソフトがアンインストールできなくなった時の対応

バージョンが古いパッケージが入っているPCがあるんですが、ユーザが正規のアンインストールを行わず、プログラムファイルだけ削除するということが有りました。(OSはWindows XPです) "プログラムの追加と削除"には項目は残ったままで、ここから削除しようと…

(WSH)IEのJava2SSVアドオンを無効にするスクリプト

ユーザよりIE8でページ表示が遅いという問い合わせがあり、調査した結果アドオンの"Java(tm) Plug-In 2 SSV Helper"が原因であるということがわかりました。 これは、Javaのセキュリティチェックを行うプラグインのようですが、あまりに遅いのでとりあえず無…

(Linux)コマンド実行時に標準出力を表示しながらファイルにリダイレクトしたい

コマンド実行時に、結果をコンソールにも表示しながらファイルにも落としたいという時があります。 その場合は以下のように、パイプ使って tee コマンドでファイルに書けばいいようです。 ls | tee res.txt 参考: UNIXの部屋 コマンド検索:tee (*BSD/Linux)…

TS-RHTGL/R5を容量アップするために全HDDを換装してみた

バッファローのNAS TeraStationPro TS-RHTGL/R5 を使ってますが、250GBx4では足りなくなり保守も切れているので、500GBx4に換装してみることにしました。 (もちろんバッファローのサポートも受けれないこと覚悟の行為です。) これが結構クセモノでかなり時間…

robocopyでメールも送れるようにバックアップスクリプトを作ってみた

robocopy単体でも有用なツールなのですが、データのバックアップを運用するとなるとバックアップ失敗時にメールを送ってくれるようにしてもらうと楽になります。 一からスクリプト書くの面倒だなあと思ってググってたらrobocopy.exeを使ったWindows用バック…

Adobe Premiereは仮想光学ドライブと相性が悪い

Adobe Premiere Elements 7でDVDへの書き込みをしようとするとPremiereどころかWindowsまでクラッシュしました。 ちょうど外付HDD(バッファロー製)を付けた後に現象が発生しだしたんで、そいつが原因に違いないと思い、詳細を調査しました。 最近のバッファ…

ファーストサーバー(Zenlogic)のメールサーバ経由のGmail宛のメールが遅延する

社内の各種自動通知メール(システムアラート等)を、ファーストサーバーのSMTPサーバーを経由してG Suite宛に送信するようにしています。 ファーストサーバーがZenlogic(共用タイプ)に変わった当たりから、Gmail側での受信が遅延するようになりました。 いろ…

(Sebversion)指定したフォルダを作業フォルダに保存しない

Sebversionでプロジェクト名ごとにフォルダ分けをし、その下にtags,trunkフォルダを作っています。 trunkは作業ディレクトリなんですが、tagsはリリース時にタグ付けしたものが入っています。 リリースする度にタグ付けが増えていくので、tagsを更新するとロ…

(バッチ)設定ファイルを読み込む

バッチファイルで処理するときに、設定ファイルから1行ずつ読み込みたいという時があります。 DOSコマンドのFOR文でできるようです。 例えばこんな感じ。 FOR /F %%A IN (a.txt) DO ( @ECHO %%A ) ↑a.txtのファイルを読み込みます。 区切り文字は指定しない…

(WSH)VBScriptでメール送信

最近まで知らなかったんですが、VBScriptでメール送信ができるようです。 参考にさせてもらったのは、メモしとこ CDO.Messageによるメール送信です。 参考先のコピペになりますが、以下のような感じでメール送信できるようです。 Set objMail = CreateObject…

(RemoteApp)RemoteAppでモーダルダイアログが表示されない

サーバ:WindowsServer2008R2、クライアント:Windows7 SP1の環境でRemoteAppを使用しています。 RemoteAppで配信しているアプリケーションがモーダルダイアログダイアログを多様してるんですが、一部のモーダルウィンドウがクライアント側に表示されない現象…

PuTTY,TeraTermでファイル転送する方法

最近まで知らなくて恥ずかしいんですが、TeraTermやPuTTY等のターミナルソフトでSSH接続時に、リモート先のLinuxとファイルの送受信ができるようです。 これが出来れば、サーバメンテナンス時に、いちいちFTP用意したり、Sambaを立てたりする必要がなくなり…

VNXeの共有フォルダスナップショット数

VNXeのスナップショット数ですが、ヘルプを見ると、一つの共有フォルダにつき、96個までスナップショットが取れるようですね。 ですので、スナップショットのスケジュールをうまくしておかないとオーバーしてしまいます。 オーバーすると、ログに「このアプ…

VNXeでレプリケーション先のデータをコピーしようとするとエラーになる時がある

EMCのストレージVNXe3100で、CIFS共有フォルダをリモートレプリケーション構成で使っているんですが、レプリケーション先(デスティネーション)側のファイルを別サーバにコピーしようとすると、「デバイスの準備ができていません。」というようなエラーになる…

ただのpingを打つための"ping.bat"を作ったけど動かない

ただのpingを打つための"ping.bat"を作ったけど動かない ping x.x.x.x -t をバッチファイルで実行したいと思い、表題にあるように、「ping.bat」という名前でバッチファイルを作成しました。 しかし、結果が全く表示されず、バッチファイルの中身が表示され…

(NetApp ONTAP)ソフトクォーターを超えたらメール通知させたい

NetAppのストレージで、ソフトクォーターを超えたらメールで通知させたいと思っています。 NetApp FAS2520でONTAP8.3の環境です。 まず送信先メールサーバの設定を行います。 ONTAPでSMTP認証できるかどうかわからなかったので、STMP認証が不要な社内メール…

UltraVNCのサイレントインストール

UltraVNCをサイレントインストールする方法です。 まず、セットアップ設定ファイルを作成してやる必要があります。 たたき台のPCで UltraVNC-xxxx-Setup.exe /saveinf="Filename" でインストーラを立ち上げ、必要なインストールオプションを設定しインストー…

(OpenOffice Basic)自身のファイルの最終更新日時を知りたい

セルの中に自身のファイルの最終更新日時を入れたいという話です。 自身のファイルパスは、(OpenOffice Basic)自身のファイルパスを表示するの方法で取得できます。 ファイルの更新日時は、FileDateTime 関数で取得できるようです。 とういことで、下記のよ…