JavaScriptからMySQLを利用する

JavaScriptからODBC経由でMySQLを利用することができます。(ただし、これはブラウザに依存します。以下の説明ではInternet Explorerを利用した例です)

ここでは、SELECT文でデータを取得してテキスト・ボックスに表示するプログラム例を書いておきます。

<html>
<head>
<script language="JavaScript">
var conn = new ActiveXObject("ADODB.Connection");
var rs = new ActiveXObject("ADODB.Recordset");

function btn_onclick() {
	conn.Open("Provider=MSDASQL; Data Source=ODBC練習用DSN");
	sSQL = "SELECT * FROM 住所録";
	rs.Open(sSQL, conn);
	var str = "氏名\t電話番号\n";
	while (!rs.EOF) {
		str += rs.Fields('氏名') + "\t" + rs.Fields('電話番号') + "\n";
		rs.MoveNext();
	}
	document.frm.txt.value = str;
	rs.Close();
	conn.Close();
}
</script>
</head>

<body>
<form name="frm">
<p><input type=button value="データ表示" onclick="btn_onclick()"></p>

<p><textarea name=txt rows=10 cols=60></textarea></p>

</form>
</body>
</html>

なお、JavaScriptではInternet Explorerで「セキュリティ/レベルのカスタマイズ」によって、「ドメイン間でのデータソースのアクセス」を有効にしないとうまく表示できないと思います。

この点は、次のようにして私は解決しました。

  1. 「ツール/インターネット オプション/セキュリティ」で「信頼済みサイト」を選択します。
  2. 「サイト...」ボタンをクリックして、JavaScriptでODBCを使いたいサイトを登録します。
  3. 信頼済みサイトが選択された状態で、「レベルのカスタマイズ...」ボタンをクリックして「その他/ドメイン間でのデータソースのアクセス」を有効にします。

これによって、JavaScriptでMySQLへ接続するサイトだけを「信頼済みサイト」に登録していけば、セキュリティを考慮しつつ、JavaScriptから自由にMySQLへ接続できるようになります。

ODBCのページへ

Copyright©2001-2008 釣ったよ! All Right Reserved.    sg@tsuttayo.sytes.net