Visual Studio .Net/2003/2005 などがインストールされてるマシンで、 ASP .NET のプロジェクトを作成する際に、「ASP .NET Version 1.1 が実行されていません」みたいなメッセージが表示されて、作成できないことがある。
これは、 IIS を再インストールしたり、 .Net は 1.0 、 2003 は 1.1 、 2005 は 2.0 と、 Visual Studio のバージョン毎に動作する .NET のバージョンが違うことから起きたりする。
このエラーを解消するには、 IIS で動作させたい ASP .NET のバージョンにしてやればいい。実際には以下のコマンドを打つ。
1.1.4322 の場合。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis.exe /i ASP.NET (1.1.4322.0) のインストールを開始します。 ASP.NET (1.1.4322.0) のインストールが完了しました。
もしくは「管理ツール」の「インターネット インフォーメーション サービス」、「既定の Web サイト」のプロパティから、 ASP .NET タブを開いて変更することもできる。
.Net から MySQL に接続するには MySQL AB がリリースしている MySQL Connector/Net を使用します。
MySQL® Connector/Net
MySQL はフリーでかなり優れているので、 .Net からの使用用途もかなり増えました。
とりあえず Visual Studio 2003 で C# ASP .NET から MySQL に接続しました。
以下のサイトから RPM をダウンロードしてインストール。
http://awstats.sourceforge.net/
設定ファイルは、 /etc/awstats/ に、 awstats 用の wwwroot は /usr/local/awstats/ に展開される。
Mailman で ML 環境を構築した際に、 ML の全てのメールのヘッダに Reply-To で ML のアドレスを指定するには、 /usr/lib/mailman/Mailman/ ディレクトリにある Defaults.py の DEFAULT_REPLY_GOES_TO_LIST に 1 をセットすればよい。
# vi /usr/lib/mailman/Mailman/Defaults.py
# 0 - Reply-To: not munged # 1 - Reply-To: set back to the list # 2 - Reply-To: set to an explicit value (reply_to_address) DEFAULT_REPLY_GOES_TO_LIST = 1
Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。
Munin のプラグインを作ると言っても、単純な文字列と数値を出力するスクリプトを作成するだけでとても簡単です。
スクリプトは bash だろうが perl だろうが、 C 言語でも別に構わないので、好きな言語で作れる。
とりあえず、マザーと CPU の温度を表示するプラグインを作ってみた。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールする、Munin のグラフ(plugin)の種類を変えるを参考。
Coldfusion 7 の管理画面からデータソースへいって、データソースの設定をしようとしても、 MySQL 5 用のドライバは標準では用意されてない。
でも MySQL からしっかりと配布されているのでそれを入手して設定すれば普通に使えます。
そのときのメモ。
Munin の設定ファイルやプラグインを変えて、必要なグラフだけを表示するようにしてみた。
基本的にはプラグインへのシンボリックリンクを削除したり作成するだけで、グラフの数は自由に変えられる。実際のやり方をメモっておく。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールするを参考。
echo filename | while read i do echo $i done
SQLServer で CSV 形式のデータファイルを import/export するには、 bcp コマンドを使用すると便利です。フォーマットファイルというのを指定することで、型の定義も可能で非常に便利。
またインポートは、 osql で BULK INSERT クエリを発行することでも対応できます。
SQLServer でデータを backup/restore するには osql で BACKUP/RESTORE クエリを発行することで行えます。
作成するダンプファイルにパスワードをつけることも可能です。
SQLServer で文字列検索を実行した際にアルファベットの大文字小文字やひらがなカタカナを区別しなかったりした時には、照合順序(Collation)が正しくない場合がある。
一通りの照合順序の設定方法と意味などをまとめておく。
this.Response.AddHeader("Content-Disposition","attachment;filename=CSVData.csv");
this.Response.AddHeader("media-type","application/octet-stream");
this.Response.WriteFile(csvFilelPath);
this.Response.End(); string strDir = "C:\\";
string strFile = "test.csv";
OleDbConnection myConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ strDir + ";Extended Properties='TEXT;HDR=NO'");
myConn.Open ();
OleDbDataAdapter sqlda = new OleDbDataAdapter ("SELECT * FROM " + strFile, myConn);
DataTable dtbl = new DataTable ();
sqlda.Fill (dtbl);
dgrdCsv.DataSource = dtbl;
myConn.Close ();ちなみに、読み込む CSV のフィールドタイプを指定した場合は、 schema.ini を用意して CSV と同じフォルダにおいておく。
[filename.csv] ColNameHeader=True Format=CSVDelimited Col1=user_id Integer Col2=user_name Char Width 32 Col3=notes LongChar
といった感じ。はじめの一行目が CSV ファイル名をセクションで指定して、二行目がヘッダの有無、三行目はデータファイルの書式(ここでは CSV )を指定してます。それ以降が実際のカラムの指定。
public void Page_Load(Object sender, EventArgs e)
{
RegisterOnSubmitStatement ("submit", "return window.confirm ('削除します。よろしいですか?');");
もしくは、特定のボタンのみに登録したい場合は以下も有効。
public void Page_Load(Object sender, EventArgs e) {
Button1.Attributes["onclick"] = "return window.confirm ('削除します。よろしいですか?');"; ASP .NET はコントロールデータが全て一つの BASE64 エンコードされた __VIEWSTATE っていうフォーム変数に格納されてるんだけど、それ用のソフト等を使えば内容が閲覧できるし、書き換えることもできる。
これを暗号化して、改ざんされた際にはエラー処理するようにするようにするには、 web.config で Page.EnableViewStateMac を有効にすればいい。
<configuration> <system.web> <machineKey validation="3DES" /> <pages enableViewStateMac="true" /> </system.web> </configuration>Mac stands for "message authentication check".
HTML で、限られたスペースに、可能な限りのドキュメントを入力してスクロールバーで制御したい場合があります。 iframe や textarea でも行えますが、スタイルシートで overflow を使用してスクロールバーを出すこともできます。
例えば幅 400x40 のスクロールバーつきエリアを作成するには以下のようにします。
<div style="overflow: auto; width: 400px; height: 40px">
ここに入力したいドキュメントを書く。
</div>
実際どのようになるかというと、このように入力したドキュメントの長さに応じて、必要なスクロールバーを自動的に表示してくれます。当然 textarea とは違いタグも書けまし、 iframe みたいに別の HTML を作成する必要もありません。