◆ADOを使う
ActiveX Data Objects(ADO)を入れる。
WinXPならデフォルトで入っている
Win2003serverは、もしかしたらセキュリティをはずさないとつかえないかも?
Win2000も、たぶんデフォルトで入っている。
Windowsのみでしか動かない
◆ADOが入っているかどうかの確認
Excelをひらき、
ツール→マクロ→Microsoft Visual Basicをひらき、
ツール→参照設定
で
Micro ActivX Data Objects ● Libray
とか入っていればたぶん、OK
◆実行の仕方
HTMLでJavascriptを記述して、ブラウザで開いても動かない。
jsで保存して、MS-DOSから実行。
実行の仕方は
cscript 〜.js
◆Javascriptの書き方
http://www.happy2-island.com/vbs/cafe02/capter00601.shtml
を参考に。
(ODBCを事前にコントロールパネルで登録する)
●Access(MDB)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いMDBをオープンします
objADO.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\happy\\island.mdb;");
//?ADOをクローズします
objADO.Close();
objADO = null;
●Access(ODBC)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いADRDBというデータソースをオープンします
objADO.Open("DSN=ADRDB;");
//?ADOをクローズします
objADO.Close();
objADO = null;
●Oracle(接続情報全部)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いORACLEのDBを開きます
objADO.Open("Driver={Microsoft ODBC for Oracle};" +
"CONNECTSTRING=ADRSORA; UID=HAPPY; PWD=ISLAND;");
//?ADOをクローズします
objADO.Close();
objADO = null;
●Oracle(ODBC)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いADRSODBCというデータソースをオープンします
objADO.Open("DSN=ADRSODBC; UID=HAPPY; PWD=ISLAND;");
//?ADOをクローズします
objADO.Close();
objADO = null;
●SQL Server(接続情報全部)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いSQL ServerのDBを開きます
objADO.Open("Driver={SQL Server};" +
"server=DBSERVER01; database=HAPPYDB; uid=HAPPY; pwd=ISLAND;");
//?ADOをクローズします
objADO.Close();
objADO = null;
●SQL Server(ODBC)
//ADOオブジェクトを作成します
var objADO = new ActiveXObject("ADODB.Connection");
//?ADOを使いSQLSODBCというデータソースをオープンします
objADO.Open("DSN=SQLSODBC; uid=HAPPY; pwd=ISLAND;");
//?ADOをクローズします
objADO.Close();
objADO = null;
◆どのようなDBでもアクセスできるのか?
ODBCでつながっていれば、DB2もMysqlもPosgreSQLもOK。
(DB2では、接続確認済み)
ただし、ADO→ODBCというふうに実行をするので、速度が落ちる可能性がある。
速度面など考えれば、ODBC実行ではなく、
それぞれのDBの接続方法
(上記Javascriptの上の方法)で接続したほうが良い。
— posted by midilin @ 02:35PM
最近のコメント