最近做项目需要用到OWC直接连接ORACLE数据库或是SQL SERVER 数据库,调用存储过程获取数据集。
function GetXml(xml) {
var Rec = new ActiveXObject("ADODB.RecordSet");
var sql = "select * from ua_user";
//var connection = "Provider=SQLOLEDB;Data Source=.;database=sms;user id=sa;password=123456;"; //SQL SERVER 连接
var connection = "Provider=MSDAORA.1;Data Source=testdb;User Id=test; Password=test;"; //Oracle数据库
Rec.Open(sql, connection, 1, 1);
pvt = document.all.pivotTable;
pvtconstants = pvt.Constants;
pvt.DataSource = Rec;
//Rec.Close();
}
edit by 20120601
上面的方式,有个严重的问题,就是因为使用了JS调用了ActiveXObject连接数据库,所以客户端必须装有能直接连接到数据库才能成功。这种方式不适用于网站类的系统,不可能让客户在用我们的系统的时候,还要能连接上数据,所以不现实,最后使用了另外一种方案。
将数据生成XML文件,再通过JS连接XML文件的方式就能解决这种问题,该版本目前没有整理。
具体的思路是使用ADODB的方式生成一个OWC规范的XML数据。这种方式是可以实现,并且在项目中己经使用了。
PS:使用XML之后,就不会关注你后台使用什么数据了。