有关ASP和WSH运行时权限的问题。
有以下两段代码,上一段是以ASP的形式运行的脚本,由于运行权限的问题吧(猜测),找不到Analysis Services上的数据库(数据库是存在的),而下一段是一段单独的脚本代码,并以脚本宿主机解释执行,执行正确,两段代码完全一样,只不过输出的时候ASP是用Response.Write,WSH是用WSH.Echo,究竟是为什么。。。。。。
<%@ language="Jscript"%>
<%
try
{
var cat = new ActiveXObject("ADOMD.Catalog");
var cst = new ActiveXObject("ADOMD.CellSet");
cat.ActiveConnection = "Provider=MSOLAP;Data Source=192.1.1.101;Initial Catalog=NorthWind;";
var strSource = "";
strSource += "select ";
strSource += "{[Measures].members} on columns, ";
strSource += "Customer.members on rows ";
strSource += "from Orders";
cst.Source = strSource;
cst.ActiveConnection = cat.ActiveConnection;
cst.Open();
Response.Write(cst.Axes(1).Positions(2).Members(0).Caption);
}
catch(e)
{
Response.Write(e.message);
}
%>
try
{
var cat = new ActiveXObject("ADOMD.Catalog");
var cst = new ActiveXObject("ADOMD.CellSet");
cat.ActiveConnection = "Provider=MSOLAP;Data Source=192.1.1.101;Initial Catalog=NorthWind;";
var strSource = "";
strSource += "select ";
strSource += "{[Measures].members} on columns, ";
strSource += "Customer.members on rows ";
strSource += "from Orders";
cst.Source = strSource;
cst.ActiveConnection = cat.ActiveConnection;
cst.Open();
WSH.Echo(cst.Axes(1).Positions(2).Members(0).Caption);
}
catch(e)
{
WSH.Echo(e.message);
}