JavaScript中连接操作Oracle数据库实例
投稿:junjie
前言
无论是b/s还是c/s的开发中,基本上不使用javascript来对数据库进行操作。而我了印证我的一个想法,需要往数据库增加大量的新闻类信息,因此,我想从各个rss站点上获取信息并将信息导入到数据库里去。其实我也可以选择使用java,c++,或者是c#等编译语言,不过,使用javascript语言对这项工作来说是效率最高的。那我又何乐而不为呢?
环境
操作系统:winxp sp2
使用工具:cscript.exe,批处理文件
数据库:oracle 10g作为目标数据库(还可以使用其他的数据库,如:sqlserver,access,mysql等等)
数据访问方式:ADO(还可以使用其他的数据访问方式,如:odbc,jdbc等等)
代码:
文件名:rss.js
//创建数据库连接对象
var conn = new ActiveXObject("ADODB.Connection");
//创建数据集对象
var rs = new ActiveXObject("ADODB.Recordset");
try{
//数据库连接串,具体配置请参考:http://www.connectionstrings.com/
//如果不知道如何配置连接串,可以通过配置UDL文件后用文本编辑器打开获得
var connectionstring = "Provider=OraOLEDB.Oracle.1;Password=pwd;Persist Security Info=True;User ID=username;Data Source=ORA";
//打开连接
conn.open(connectionstring);
//查询语句
var sql = " select * from tb_col ";
//打开数据集(即执行查询语句)
rs.open(sql,conn);
//遍历所有记录
while(!rs.eof){
//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。
//WScript.Echo输出记录的内容
WScript.Echo(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");
//下一条记录
rs.moveNext();
}
//关闭记录集
rs.close();
//关闭数据库连接
conn.close();
} catch(e){
//异常报告
WScript.Echo(e.message);
} finally{
//
}
文件二:run.bat
该文件是批处理文件,使用这个文件运行rss.js文件。虽然可以直接运行rss.js文件,但直接运行的该文件是使用视窗的方式激活,这样有一个不好的地方,就是会每条记录都弹出一个窗口来显示。所以我就使用命令行的方式来激活rss.js文件,并批处理命令来简化命令的输入。
cscript.exe rss.js
pause
运行run.bat文件就可以看到类似一下的结果:
1 栏目1
2 栏目2
3 栏目3
4 栏目4