So-net無料ブログ作成

SQL Server でデータベース一覧を表示するには? [NT]

前回、前々回の

に引き続き、SQL Server の TIPS をメモしておく。

データベースの一覧を表示するには?

select * from sysdatabases

バックアップしたデータベースの物理ファイルリストを表示するには?

RESTORE FILELISTONLY FROM DISK='L:\DotNetNuke.bk'

コマンドラインから SQL を発行 + 出力結果を hoge.log に保存するには?

osql ユーティリティを用いて次のように記述する。
osql -S (local)\MSDE2K -U sa -Q "select * from sysdatabases" -o hoge.log

この場合、標準出力には出力されなくなる。

尚、osql ユーティリティの詳細は osql ユーティリティ を参照して欲しい。

SQL をファイルで用意し実行するには?

osql -S (local)\MSDE2K -U sa -i sql.txt

sql.txt を次のようにすれば、複数のデータベースのバックアップがとれる。

BACKUP DATABASE DotNetNuke TO DISK='DotNetNuke'
BACKUP DATABASE DotNetNuke2nd TO DISK='DotNetNuke2nd'
BACKUP DATABASE DotNetNuke40 TO DISK='DotNetNuke40'
BACKUP DATABASE DotNetNukePub TO DISK='DotNetNukePub'
BACKUP DATABASE DotNetNukeTEST TO DISK='DotNetNukeTEST'
go

タグ:SQL Server

SQL Server でデータベース名を変更するには? [NT]

前回の SQL Server でデータベースをバックアップ/リストアするには? に引き続き、SQL Server の TIPS をメモしておく。

バックアップしたデータベースの物理ファイルリストを表示するには?

RESTORE FILELISTONLY FROM DISK='L:\DotNetNuke.bk'

データベース名を変更するには?

sp_renamedb dotnetnukeedit, dotnetnukepub
この場合、論理/物理ファイル名は変更されない。

論理/物理ファイル名の表示

use dotnetnukepub
go sp_helpfile
go

論理ファイル名の変更

alter database dotnetnukepub modify file (name='dotnetnukeedit' , newname='dotnetnukepub')
go
alter database dotnetnukepub modify file (name='dotnetnukeedit_log' , newname='dotnetnukepub_log')
go
データファイル名とログファイル名(共に論理ファイル名)を変更。物理ファイル名は変わらない。

物理ファイル名の変更

まず、データベースをデタッチする。
use master
go
sp_detach_db dotnetnukepub
go
デタッチしたので、エクスプローラなどでファイル名を変更する。そしてアタッチする。
go
sp_attach_db dotnetnukepub, 'E:\Data\dotnetnukepub.mdf','E:\Data\dotnetnukepub_log.LDF'
go

タグ:SQL Server

SQL Server でデータベースをバックアップ/リストアするには? [NT]

最近扱っているのは Oracle が多いのだけれど、SQL Server のエントリを幾つか投稿。

SQL Server で使用される SQL は Transact-SQL と呼ぶ。これは、ANSI/ISO が規格化した SQL (Structured Query Language) を Miscrosoft が拡張したもの。リファレンスは、

にある。

ということで、まずは、データベースのバックアップとリストアから。DotNetNuke という名称のデータベースを運用していて、L:\DotNetNuke.bk にあるファイルへバックアップ/リストアするには次のように記述する。

バックアップ

BACKUP DATABASE DotNetNuke TO DISK='L:\DotNetNuke.bk'

リストア

RESTORE DATABASE DotNetNuke FROM DISK='L:\DotNetNuke.bk'


SQL Server でデータベース名を変更するには? に続きます。


Ghostscript/xdvi(VFlib)のフォントの変更方法 [NT]

Ghostscript/xdvi(VFlib) のメモ。2004 年くらいの話なので現在では情報が古いかもしれない。

Ghostscript は PostScript のレンダラソフト。要は、PostScript を印刷したいなら PostScript 対応プリンタ(値段が高め)を用いるか、Ghostscript を利用すればよい。

Ghostscript/xdvi(VFlib) でフォントを変更するには /etc/vfontcap の以下の行を書き換える。

/usr/share/fonts/alias/TrueType/mincho-mr-jisx0208.1983-0.ttf はシンボリックリンクになっているのでこれを張り替えても良い。

[vine-users:027578] Re: vfontcapの設定について によると

ちなみにghostscriptは ~/vfontcapがあれば、それを使うので
/etc/vfontcapを書き換えなくとも実験できます。ただ、VFlibは、そんな
ことはしないので、~/vfontcapに定義されたフォントをktestで見ることは
できません。
とある。xdvi は VFlib を使用しているらしいので /etc/vfontcap を書き換えないとならないようだ。

PostScript でテキストを塗りつぶし、輪郭と内部で異なる色にするには? [NT]

PostScript は Adobe が開発したページ記述言語である。解説は PostScriptとは 【ポストスクリプト】 : IT用語辞典 に譲る。

PostScript は基本的にテキストファイルなので、命令や文法が分かれば内容を書き換えることも出来る。 例えば、テキストを塗りつぶし、輪郭と内部で異なる色にするには次のように記述する。

このサンプルは、 Helvetica-Bold フォント 11 ポイントで、

  • 座標(48,100) に 「0」というテキストを輪郭:黒(縁は2ポイント)、内部:白
  • 座標(33,96) に 「1」というテキストを輪郭:黒(縁は2ポイント)、内部:白

で描画する。

Postscript では 手続き(C言語における関数)を定義することができるので、上記のコードはより簡潔に記述することも可能。

もっとも、PostScript をテキストファイルで直接プログラムから出力する事なんてほとんど無い。強いて言えば、TeX に EPS(Encapsuled PostScript) を貼り付けたくて、EPS の一部分を変更したいときくらいだ。それすらほとんど無いけど。

参考文献


タグ:PostScript

grep でパターンをファイルから読み込むには? [NT]

grep で正規表現にマッチした部分だけ抽出するには? で grep について書いたので、その続き。

複数のパターンで grep を実行したい場合、スクリプトを書かなくても -f オプションを用いればよい。これを使うと、パターンをファイルから読むことが出来る。

pattern.txt というファイルを次のように記述する。

CLOSE_WAIT
LI.*G

検索対象のファイル list.txt が次の内容であるとする。

Active Connections

Proto Local Address Foreign Address State
TCP 127.0.0.1:4111 127.0.0.1:4112 ESTABLISHED
TCP 127.0.0.1:4112 127.0.0.1:4111 ESTABLISHED
TCP 127.0.0.1:4114 127.0.0.1:4115 ESTABLISHED
TCP 127.0.0.1:4115 127.0.0.1:4114 ESTABLISHED
TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5152 127.0.0.1:4113 CLOSE_WAIT
TCP 127.0.0.1:9089 0.0.0.0:0 LISTENING
TCP 127.0.0.1:10110 0.0.0.0:0 LISTENING

このとき、

grep -f pattern.txt hoge.txt
と実行すると、

 

  TCP    127.0.0.1:5152         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:5152         127.0.0.1:4113         CLOSE_WAIT
  TCP    127.0.0.1:9089         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:10110        0.0.0.0:0              LISTENING

を得られる。

尚、-F を指定しなければパターンファイルの各行は正規表現として扱われる。そのため、LI*G が LISTENING に該当するので、CLOSE_WAIT だけでなく、LISTENING の行も表示されている。


タグ:linux grep SHELL

grep で正規表現にマッチした部分だけ抽出するには? [NT]

grep で正規表現にマッチした部分だけを抽出(抜き出す)には、-o オプションを用いる。

ただし、-o オプションは比較的新しい grep でないと使用できない。 GNU utilities for Win32 で紹介したパッケージに含まれる grep のバージョンは、

> grep -V
GNU grep version 2.0 + multi-byte extension 1.04

であり、このバージョンでは使えない。そこで、Grep for Windows からダウンロードできるバージョンを使うと良い。こちらは 2.5.4 である。

>grep -V
GNU grep 2.5.4

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

ダウンロード出来るファイルは幾つかあるが、めんどくさい方は Setup を使う。zip が欲しい方は Binaries と Dependencies の Zip をダウンロードして、 Dependencies に含まれる dll を Binaries の grep と同じディレクトリに入れればよい。

-o オプションは例えば、

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:4111         127.0.0.1:4112         ESTABLISHED
  TCP    127.0.0.1:4112         127.0.0.1:4111         ESTABLISHED
  TCP    127.0.0.1:4114         127.0.0.1:4115         ESTABLISHED
  TCP    127.0.0.1:4115         127.0.0.1:4114         ESTABLISHED
  TCP    127.0.0.1:5152         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:5152         127.0.0.1:4113         CLOSE_WAIT
  TCP    127.0.0.1:9089         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:10110        0.0.0.0:0              LISTENING

という内容の ip.txt のデータがあるとして、これから IP アドレスとポートの部分を抜き出すには、

grep -o -e [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+:[0-9]\+ ip.txt

とすると、

127.0.0.1:4111
127.0.0.1:4112
127.0.0.1:4112
127.0.0.1:4111
127.0.0.1:4114
127.0.0.1:4115
127.0.0.1:4115
127.0.0.1:4114
127.0.0.1:5152
0.0.0.0:0
127.0.0.1:5152
127.0.0.1:4113
127.0.0.1:9089
0.0.0.0:0
127.0.0.1:10110
0.0.0.0:0

を得られる。

参考文献


タグ:grep 正規表現

古いバージョンの JDK/JRE を入手するには? [NT]

Java はある程度、上位互換性を保っているので、基本的には最新の JDK/JRE を使用すれば足りる。また、古いバージョンではセキュリティに問題がある場合があり、最新の JDK/JRE では修正されていることも多い。

しかし、それでも JDK (Java Development Kit)、JRE (Java Runtime Environment) の古いバージョン(旧バージョン) を必要とすることがたまにある。

例えば、

  • 企業の社内システムで JRE 1.5 でないと動作しない。または、動作保証してくれない。
  • ダウンロードしたサンプルプログラムが JDK 1.2 ベースだった。
  • オープンソースのソフトウェアで開発が止まっているんだけど、ちょっと動かしてみて、大丈夫そうなら使ってみたいが、JDK 1.4 向けに作成されていた。

などなど。少なくとも、エンドユーザが使うべきではなく、開発者向け。基本的にサポートしてくれない。

そんな、古いバージョンの JDK / JRE は次の場所から入手できる。

先に「Java はある程度、上位互換性を保っている」と述べたが、各バージョンについての互換性については次の場所で述べられている。

その他のバージョンの互換性についても上記ページからリンクを辿って確認できる。
タグ:Java programming

wget で cookie を利用するには? [NT]

wget はコマンドラインから使えるダウンローダである。元々、UNIX/Linux 向けに開発されたものだが Windows 版もある。

wget を含むツールの取得方法は GNU utilities for Win32 でエントリを書いたので、今回は、wget で cookie の設定方法について書く。

ログインの有無などのために、多くのページでは cookie を用いている。cookie はキーと値から構成されるので、それらが分かれば wget でも利用できる。

キーが "key" で値が "value" ならば、

wget --cookies=off --header "Cookie: key=value"

と記述すればよい。この記述方法は --cookies=off で cookie を無効にしておいて、HTTP ヘッダに自前で cookie を設定している。

cookie が分からなければ Mozilla Firefox と そのアドオンである HttpFox などを利用すれば容易に調べることが出来る。

必要に迫られて調べたことだったが、案外便利だったのでメモしておく。


タグ:Cookie wget

野村ほっとダイレクト ほっと割 廃止 [NT]

2009年09月18日(金) 野村證券は 野村ほっとダイレクトで提供されていた割引サービス「ほっと割り」の廃止を表明した。詳しくは「【重要】野村からのお知らせについて(「ほっと割プラン」サービス終了等)」に記載されている。

「ほっと割り」 とは次のサービスのことである。

野村ホームトレードによる国内株式委託注文において、1日1回だけ、約定金額から20万円を差引いて、売買手数料を計算します。約定金額が20万円以下なら手数料はゼロとなります。
なお、オンライン信用取引については「ほっと割20」指定注文はできません。

「ほっと割り」は 2009年11月24日 以降は廃止される。

手数料がかからない形態を長期間維持するのは難しいので、個人的には「ほっと割り」の廃止そのものは特に異論はない。しかし問題は、「ほっと割り」を利用しない場合の手数料の高さだ。

約定金額が 20 万円以下の場合、割引を適用しても 1365 円もかかってしまう。この金額は非常に高い。kabu.com、丸三証券、楽天証券と比べても高い。kabu.com の 指し値(kabu.com の場合は W指し値など細かい注文条件を指定できる)注文よりも高い。

ほっと割りが廃止されると、野村ほっとダイレクトのメリットは日経テレコンが 10 年分利用できることくらいか。野村ほっとダイレクトを利用して ETF を適当に買っていたのだが、2009年11月24日以降は丸三証券を利用しようか。

ちなみに約定金額 20 万円 で 1365 円と言うと 0.6825%。でも、約定金額 10 万円でも同じ手数料だから、その場合、1.365%。高いなー。せめて、野村證券に統合されるジョインベスト証券と同じ 500 円にならないかと思うけど、無理なんでしょうね。

追加エントリ:野村證券の日経テ レコンがサービスを終了していた


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。