2010年7月25日日曜日

[Excel]ミリ秒を時分秒に変換する

ログの解析などで、ミリ秒⇔時分秒の変換をすることがあります。コレはもちろんマクロを使えば計算できることはわかっていたのですが、マクロを使わずにできないか。と考えて実施してみました。
Excelの時分秒のシリアル値から、以下の計算方法にて実現してみました。

たとえば3分をmsであらわすと、180,000msになります。それがA1に入っているとすると、
=A1/86400000


となります。この計算で出た結果をの表示形式を、「ユーザ定義」とし「hh:mm:ss.0」とすればおk。

2010年7月24日土曜日

[ASP.NET]GACを組み込む方法(VS.NETを使わない)

今はフリーで使えるVWDがありますので、ほとんど出番はありませんが、ASP.NETでは、ASPのように、.aspxにロジックを記述し、実行時にコンパイルし実行するという方法が取れます。
簡単なテストプログラムであれば、こっちのほうが楽かもしれません。

しかし、GACに登録されたアセンブリを使う方法がよくわからず、あきらめてbinフォルダにコピーして実行していた時期がありました。で、先日GACに登録されたインタフェースをテストするために、プログラムが必要となりました。そこには開発環境が無かったので、.aspxのみの構成で実現しようと考えたのですが、GACを使う方法が。。。ということで再度調べてみると、@Registerで指定することができることがわかりました。

今日は時間ないので、コード例はまた今度。

2010年7月21日水曜日

[他]FKのみつけかた(SQLServer)

先日、あまりかかわりのないシステムの環境構築のお手伝いとして、他のDBサーバよりマスタ関係を移行する手伝いをしました。
2つのDBサーバは、一部テーブル構成が異なる(移行先が若干古い)ため、構成の変更を行いました。
その後、リンクサーバを設定し、データを消してからSQLでデータをコピーするという方法をとりました。

で、リンクサーバ設定が完了し、マスタ系のテーブルをTruncateしようとすると、FKがあるので削除不可的なメッセージが表示されました。しかし、あまりかかわりのないシステムであった為、どのテーブルにFKが設定されているのかよくわかりませんでした。

設計書のありかを聞くのも面倒だったし、期待する資料は無い。といわれる可能性があったので、SQLServerにて確認する方法を調べてみると、

 sp_help 'テーブル名'

で調べられることがわかりました。ということで先にFKを設定しているテーブルを削除し、事なきを得ました。

2010年7月20日火曜日

[SQL]一時的に制約を無効化する

データ移行などで、一時的に制約を無視したい場合があります。SQLサーバでは、「no check constraint SQLServer」で一時的に制約を無視することができます。制約およびトリガを無効にする

制約に沿わないデータが合ったとしても、制約を元に戻せます。そのため、データ登録後整合性のチェックをする必要がありそうです。

2010年7月16日金曜日

[Ecxel]0を表示しないようにする

Exceで値が0の場合、自動的に表示しない(見えないようにする)ようにするには、条件付書式設定を使えばいいのですが、その他の方法として、[オプション]→[表示]→ゼロ値(Z)のチェックをはずすことにより、全体的に0を表示しないようにできるようです。あぁしりませんでした。

2010年7月13日火曜日

[Excel]Excelの改行コードはLFのみ

Excelのセル内には改行を入れることができますが、その改行コードはLFのみのようです。
知りませんでした。マクロなどで変換や判定する場合は要注意ですね。

2010年7月11日日曜日

[他]SQLServerでテーブルに設定されているインデックスを確認する方法

sp_helpindexという関数を実行すると、テーブルに設定されているインデックスとその種類がわかります。
コードはこんな感じ。

sp_helpindex 't_test01'

--こんな感じで表示される
/*
index_name    index_description    index_keysIX_T_TEST01
nonclustered located on PRIMARY    TEXT1PK_T_TEST01
clustered, unique, primary key located on PRIMARY    ID
*/

2010年7月7日水曜日

[SQL]SqlServerで8000byteを超えるフィールドを扱う

SqlServerで8000byteを超えるフィールドを扱うばあい、varchar(max)と定義すればよいそうです。
知りませんでした。。。

2010年7月6日火曜日

[他]Vista PremiumでもIISが動く?

先日修理に出していたマシンが、昨日かえって来ました。ということで、本日早速Visual Studio(Expressだけど...)をインストールしました。C#とSQLServerをインストールし、VWDをインストールしようとしてところ、「Web PI のダウンロード ページへ」なる見慣れないリンクが。。。

先に進んでいくと、「Microsoft Web Platform Installer」という機能で、さまざまなあアプリケーションを選択し、インストールすることができます。
その中に、IIS関連の項目があり、Vista Premiumのこのマシンでも選択することができたので、そのままチェックしてインストールすると、「インターネット インフォメーション サービス (IIS) マネージャ」がインストールされていました。

まだ試していませんが、IISが動作する感じがします。
もしかしらたレガシーASPも動作するかも。。。