ページ番号  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  10

VBで作成したOCXやOLE DLLを登録するDLLです。

URL:http://www.watahiki.info/vbsvp98/softlib/library/tmrs/tmrs.html
「RegisterServer Library」(TMRSvr32.dll)は、玉城真彦さんが開発した、「OCX」「OLE DLL」をシステムに登録するDLLです。
VB用のサンプルが付いています。

単に登録するだけなら、
cmd /c regsvr32 <ocx/dllフルパス>
を実行するだけで良いのですが(VBならShell関数で実行)、regsvr32をDLL化することで、成功/失敗を直接戻り値で見ることができます。
戻り値: 0 成功
    -1 OLEの初期化に失敗
    -2 OCX/DLLのロードに失敗
    -3 DLLのエントリポイントがみつかりません
ファイル名を見て「*.ocx」「*.dll」のみを登録するようにして、0か-3の時はインストール続行。他の値はエラーとするようにしました。DLLには3種類あり、regsvr32で登録が必要なのはVBで作成したActiveX DLL(OLE DLL)です。

RegisterServer Library


ファイル名に日付を付加するバッチ

以下のソースをSendToフォルダに保存して、
ファイルやフォルダを選択して「送る」で実行すると、
フォルダやファイル名に日付が付加できます。
■日付付加.bat
@echo off

set time2=%time: =0%
set BACKUP_EXT=%date:~-12,4%%date:~-5,2%%date:~-2,2%_%time2:~0,2%%time2:~3,2%
:BeginLoop
if "%~1" == "" goto EndLoop
if exist %1 (
rename %1 "%~n1_%BACKUP_EXT%%~x1"
)
shift
goto BeginLoop
:EndLoop
動作環境:WindowsXP

コメント

かすぱ [2010年03月05日(金) 16時50分]
0時から9時の間、「 9」って感じで、時刻の先頭にスペースが入るため、時間が1桁になっていました。
⇒時刻のスペースを0に置換するよう修正しました。

Googleの「SPDY」って何?

URL:http://www.itmedia.co.jp/enterprise/articles/0911/13/news019.html
とりあえず今北産業です。⇒
Google、HTTPを補う高速化プロトコル「SPDY」発表
  • GoogleがWebページ表示をスピードアップするプロトコル「SPDY」を発表した。
  • テストではページ読み込み速度が最高で64%短縮できたとしている。
  • SPDYの目標はページ読み込み速度の50%短縮だ。
関心があるので後で内容について調べてみようかと。
どのようなシステムか。必要なミドルウェアは何か。対応しているブラウザは?既存のwebサーバに組み込む時にどのような変更があるのか。htmlに変更が必要か。実際に速いのか?

Google、HTTPを補う高速化プロトコル「SPDY」発表 - IT Media
SPDY: An experimental protocol for a faster webSPDYに関するホワイトペーパー


SQLServer「NOLOCKを使用したとき、行の重複や欠落が発生する場合があります」

URL:http://support.microsoft.com/kb/975782/ja
たとえば、次のような状況で行の重複や欠落が発生します。
"READ UNCOMMITTED 分離レベル" で実行されるトランザクションや "NOLOCK ヒント" を使用した読み取りではロックが取得されないため、インデックスをスキャンしている時にページ分割が実行されても、そのページ分割中のページ内の行を読み取ることができます。そして、それらページ内のどの行まで読み取ったか、また、どの行がページ分割により新たなページへ移動されるかが関連し、その行が再び出現するか (重複)、もしくは出現しない (欠落) 可能性があります。

「READ UNCOMMITTED 分離レベル」「NOLOCK」の時、テーブルやレコードに対して読み取り中にロックがかかっていない為、横からデータの操作が加わる恐れがあるとのことです。例として挙げられている現象はレコードを順番に見ているときに、並び順を管理しているツリーに変更が加わって、次のレコードを見てみたら以前と違うなんてことになるみたいです。

同じようにカーソルを開いたまま、ループをゆっくり回してファイル出力や帳票出力を行っていると、レコードが重複したりとかありそうです。

対処方法としては、
 「NOLOCK」しない。
 一行ずつなど極短い単位でレコードを取り出す。
 レコードセットを取得したらすぐにクローンを取ってDBから分離する。
 排他のロックを明示的にかける。
などが挙げられます。必要に応じて対応を行いましょう。

…NOLOCKを使用しない場合、対象のレコードに排他ロックがかかっていないかを見て、もしロックされているとそれを待ってしまうようなことがあるような…。しばらく待たされた気がするのですよ。NOLOCKを使うとそれらが無いため速い…速くても抜けているところがあるのですね~。

文書番号: 975782 - SQL Server で "READ UNCOMMITTED 分離レベル" または "NOLOCK ヒント" を使用した SQL 文を実行してデータを参照すると、読み取ったデータの行が欠落または重複する場合がある

コメント

かすぱ [2009年10月22日(木) 10時15分]
READ UNCOMMITTED……非コミット読み取り。
 コミット前のトランザクションのデータが読めたり、別のトランザクションからデータの挿入・更新・削除が行えてしまう状態。
 デフォルトでは「コミット読み取り」が設定されており、コミットされていないデータは読めません。

ページ番号  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  10