|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。初级|客户端上回曾贴一篇较复杂的用ASP+RDS客户端参生报表
此回贴一篇较庞大的用ASP+RDS+组件客户端参生报表
毛病申明:(若提醒ActiveX元件没法参生RDS.DataSpace)
IE需设置平安选项
操纵:菜单工具->INTERNET选项->平安性->自界说
设置:肇端但ActiveX不标示为平安->开启
道理申明:
客户端间接用RDS发生RecordSet平安性不敷,利用了
middle-tierAutomationcomponents后可年夜年夜增添平安性!
请看下文:
编写注册元件:
ActiveXDllproject:iacrdsobj.vbp
ClassModulename:RsOp
PublicFunctionReturnRs(strDBAsVariant,strSQLAsVariant)AsADODB.Recordset
ReturnsanADODBrecordset.
OnErrorGoToehGetRecordset
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrConnectAsString
strConnect="Provider=SQLOLEDB;Server=servername;uid=sa;pwd=;Database="&strDB&";"
cn.OpenstrConnect
Thesearenotlistedinthetypelib.
rs.CursorLocation=adUseClient
UsingtheUnspecifiedparameters,anADO/Rrecordsetisreturned.
rs.OpenstrSQL,cn,adOpenUnspecified,adLockUnspecified,adCmdUnspecified
SetReturnRs=rs
ExitFunction
ehGetRecordset:
Err.RaiseErr.Number,Err.Source,Err.Description
EndFunction
然后MAKEiacrdsobj.dll
如有错,请设置VB菜单PROJECT-REFREENCE
增添MicroSoftActiveXDataObject2.6Library(固然数字要高一点)
然后注册iacrdsobj.dll到数据库server(为平安,最好变动数据库uid最好不为sa)!
好,接上去看asp
long1.asp
<html>
<head>
<METAcontent="text/html;charset=gb2312"http-equiv=Content-Type>
<title>clientuserdsproduceexcelreport</title>
</head>
<bodybgColor=skybluetopMargin=5leftMargin="20"oncontextmenu="returnfalse"rightMargin=0bottomMargin="0">
<divalign="center"><center>
<tableborder="1"bgcolor="#ffe4b5"style="HEIGHT:1px;TOP:0px"bordercolor="#0000ff">
<tr>
<tdalign="middle"bgcolor="#ffffff"bordercolor="#000080">
<fontcolor="#000080"size="3">
clientuserdsproduceexcelreport
</font>
</td>
</tr>
</table>
</div>
<formaction="long1.asp"method="post"name="myform">
<DIValign=left>
<inputtype="button"value="QueryData"name="query"language="vbscript"onclick="fun_excel(1)"style="HEIGHT:32px;WIDTH:90px">
<inputtype="button"value="ClearData"name="Clear"language="vbscript"onclick="fun_excel(2)"style="HEIGHT:32px;WIDTH:90px">
<inputtype="button"value="ExcelReport"name="report"language="vbscript"onclick="fun_excel(3)"style="HEIGHT:32px;WIDTH:90px">
</div>
<DIVid="adddata"></div>
</form>
</body>
</html>
<scriptlanguage="vbscript">
subfun_excel(t)
Dimrds,rs,df,ServerStr
dimstrSQL,StrRs
DimxlApp,xlBook,xlSheet1
ServerStr="http://SqlServerName"thesqlservernameofregisteriacRDSObj.dll
userdstoproduceclientrecordset
</p>asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了! |
|