JavaScript中连接操作Oracle数据库实例

  前言

  无论是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