用asp做access的远程接口

2016-01-29 18:41 24 1 收藏

用asp做access的远程接口,用asp做access的远程接口

【 tulaoshi.com - ASP 】

 

      以前看到很多网友问,自己有两台服务器,如何这两台服务器上的mdb数据库数据的互访。今天作了个远程的接口,以xml形式返回mdb中的数据。用的主要思想是通过recordset对象的save方法将数据填充到一个xml dom里,但是,这种方法产生的XML不够简洁,自动产生的XML包含了schema信息,它描述这个XML里允许有什么节点和属性以及采用何种数据类型,而且数据节点也增加了名称空间。schema信息在需要数据验证的地方或进行更复杂的处理或许很有用,但是,大多数情况下,我们使用的是瘦客户机,我们不需要schema信息。我们可以利用XSLT来分离出我们想要的信息,去掉多余的信息。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

代码如下:
<%
'生成xsl样式
str = chr(13)&chr(10)&chr(9)
xslt="<?xml version=""1.0""?" & chr(13)&chr(10) & "<xsl:stylesheet version=""1.0"""_
      &" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"""_
      &" xmlns:s=""uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"""_
      &" xmlns:dt=""uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"""_
      &" xmlns:rs=""urn:schemas-microsoft-com:rowset"""_
      &" xmlns:z=""#RowsetSchema"""& str_
& "<xsl:output omit-xml-declaration=""yes""/"&str_
&  "<xsl:template match=""/"""& str&chr(9)_
     & "<xsl:element name=""xml"""& str&chr(9)&chr(9)_
          &"<xsl:for-each select=""/xml/rs:data/z:row"""& str&chr(9)&chr(9)&chr(9)_
              &"<xsl:element name=""row"""& str&chr(9)&chr(9)&chr(9)&chr(9)_
                  &"<xsl:for-each select=""@*"""& str&chr(9)&chr(9)&chr(9)&chr(9)&chr(9)_
                     & "<xsl:element name=""{name()}"""& str&chr(9)&chr(9)&chr(9)&chr(9)&chr(9)&chr(9)_
                         & "<xsl:value-of select="".""/"& str&chr(9)&chr(9)&chr(9)&chr(9)&chr(9)_
                      &"</xsl:element"& str&chr(9)&chr(9)&chr(9)&chr(9)_
                 & "</xsl:for-each"& str&chr(9)&chr(9)&chr(9)_
             & "</xsl:element"& str&chr(9)&chr(9)_
          &"</xsl:for-each"& str&chr(9)_
      &"</xsl:element"& str_
  &"</xsl:template"& chr(13)&chr(10)_
&"</xsl:stylesheet"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

'读取数据库
curDir = Server.MapPath("data.mdb")
set conn=server.createobject("adodb.connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & curDir
set rs=conn.Execute("select * from admins")
Dim objXMLDOM
Set objXMLDOM = Server.CreateObject("MSXML2.DOMDocument.3.0")
'将recordset对象保存到dom里
rs.save objXMLDOM, 1
Set rs = Nothing
Dim strCleanXML, objXMLDOM_XSLT
Set objXMLDOM_XSLT = CreateObject("MSXML2.DOMDocument")
objXMLDOM_XSLT.loadXml(xslt)
'用xsl格式化数据
strCleanXML = objXMLDOM.transformNode(objXMLDOM_XSLT)
 
Set objXMLDOM = Nothing
Set objXMLDOM_XSLT = Nothing
'输出数据
Response.Write strCleanXML
%

       因为xml是跨平台的,所以呢不

来源:http://www.tulaoshi.com/n/20160129/1506893.html

延伸阅读
标签: ASP
  把asp程序作成dll很多好处,但是有一点,该dll必须注册才能在asp中调用。如果是自己的服务器那还好,但如果是租用的虚拟服务器,就没办法使用了。 怎样在远程主机上注册我们的dll呢?在服务器端使用Shell!!! 让我们先将自己的dll文件通过ftp或http上传到服务器上,然后作一个asp程序,调用WScript.Shell来执行regsvr32命令: Set o...
标签: ASP
  使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器)。 远程连接access数据库的几个方法: 1.建立VPN...
标签: Web开发
接到一个任务是把中国名牌网站的某些内容添加到我们的网站上,这些网站上有些页面是文章链接列表,点击链接会出现文章的详细内容显示页,根据这个规律,结合正则表达式,XMLHTTP技术,Jscript服务端脚本,以及ADO技术,写了一个小程序,把这些内容抓取到了本地数据库。抓取下来,然后就数据库对数据库导数据就比较方便了。先建立一个Access...
使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器)。 -------------------------------...
标签: ASP
          这几天做ASP.Net追捕,也算是我入门吧。思路很简单,主要就是识别远程主机传回的Banner, 判断远程主机服务器。这可能不够准确,因为合格的管理员可能会去修改Banner。 代码如下(从我的Web追捕里找出来的,用VB.Net)          &...

经验教程

746

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部