リード開発メモ

大阪のソフトウェア会社です。 技術的な事柄についてのメモとしてブログを始めます。

2013年10月

SQL Server カーソルで処理する

SQL Server でカーソルを使って処理する場合の基本形。
DECLARE @code1       INT
DECLARE @code2       INT
DECLARE @value1      NVARCHAR(10)

DECLARE cur1 CURSOR FOR
SELECT code1, code2, value1
FROM table1
ORDER BY code1, code2

OPEN cur1

WHILE (1 = 1)
BEGIN
    FETCH NEXT FROM cur1
    INTO @code1,  @code2, @value1

    IF (@@FETCH_STATUS <> 0)
        BREAK

    INSERT table2 (
       code1, code2, value1
    ) VALUES (
       @code1, @code2, @value1
    )
END

CLOSE cur1
DEALLOCATE cur1

以上。

SQL Server で IDENTITY を 0 に戻す

SQL Server で IDENTITY を 0 に戻すには以下を実行する。第3引数で 0 に戻しているが、実際に ID 値として使われるのはその次の 1 になるらしい。
DBCC CHECKIDENT (テーブル名 ,RESEED ,0)

以上。

タスクバーの Explorer のアイコンがおかしくなった

Windows 7 64bit のノートPCを使っているが、ある時、タスクバーに表示されている Explorer のアイコンがおかしくなった。

スタートの横にあるアイコンがそれ。 taskbar-icon-recovery1

いつもはこんな風に表示されていた。 taskbar-icon-recovery2

アイコンキャッシュの再構築をすればいいとのことで、次の手順を行った。
1. デスクトップの何もないところで右クリックし、[画面の解像度]をクリック。
2. 画面の解像度ダイアログの[詳細設定]をクリック。
3. [モニター]タブを選び、[色]を[True Color(32 ビット)]から[True Color(16 ビット)]に変更する。
4. [OK]を押し、マシンを再起動する。
5. この時点でアイコンキャッシュは再構築されている。
6. もう一度1.~2. の手順を行った後、 [モニター]タブの[色]を[True Color(32 ビット)]に戻す。
7. [OK]を押す。マシンの再起動は必要ない。

そうすると確かにアイコンは元に戻ったのだが、そのアイコンからなぜか Explorer が起動できない模様。 問題のアイコンで右クリックし、プロパティを見てみると、Explorer は環境変数 windir を参照するパスとなっている。
taskbar-icon-recovery4

念のため 環境変数 windir を調べてみる。 set コマンドを使う。ただしこの時点ではスタートメニューのコマンドプロンプトをダブルクリックしても起動に失敗するため、フルパス C:\Windows\System32\cmd を打ち込んで起動する。
C:\Windows\System32>set windir
環境変数 windir が定義されていません

定義されていなかった。。。
環境変数 windir を設定してやる。setx コマンドを使う。コマンドプロンプトを管理者で実行していない場合は以下のようなエラーが出る。
C:\Windows\System32>setx WINDIR c:\Windows /M
エラー: レジストリ パスへのアクセスが拒否されました。

コマンドプロンプトを管理者として実行し直しコマンドを打ち込む。
C:\Windows\system32>setx WINDIR c:\Windows /M

成功: 指定した値は保存されました。

これで無事、Explorer が起動するようになった。

それにしてもなぜ、windir の定義がなくなったのだろう。

Excel 2010 検索が終わらない

Excel 2010 で、検索が終わらなくなることがあるようだ。

以下の条件が重なると再現すると思う。必ずではないが、以下の順番で操作すると再現しやすいかもしれない。

・ 図や図形を挿入している。
・ 改ページプレビューで表示している。
・ 検索オプションから検索場所をブックにして、ヒットしない文字列を検索する。

こうなると、タスクマネージャーから強制終了するしかなくなる。

Subversion の認証情報をクリアする

Subversion のサーバが同じだが、接続するアカウントを変えたい場合、認証情報をクリアする必要がある。

TortoiseSVN を使っている場合、TortoiseSVN の設定画面から認証情報をクリアできる。設定画面の[保存されたデータ]にある[認証データ]の[消去]ボタンがそれ。 tortoisesvn-clear-auth

また、認証データが保存されたファイルを Explorer から直接削除することでも可能だ。ファイルは以下のフォルダに存在する。こちらは対象のサーバーのみの認証情報をクリアできるが、ファイル名からはどのサーバーの認証データなのか分からないため、メモ帳などで中身を確認する必要がある。
C:\Users\(ユーザー名)\AppData\Roaming\Subversion\auth\svn.simple

以上。

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気