用asp做access的远程接口

不是谁都不可以

不是谁都不可以

2016-01-29 18:41

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

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

代码如下:
<%
'生成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://m.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
%

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

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

展开更多 50%)
分享

猜你喜欢

用asp做access的远程接口

ASP
用asp做access的远程接口

用ASP实现远程批量文件改名

ASP
用ASP实现远程批量文件改名

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用asp处理access数据库

ASP
用asp处理access数据库

用ASP做的DNS LOOKUP程序

ASP
用ASP做的DNS LOOKUP程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP远程保存图片

Web开发
ASP远程保存图片

Maxthon Access玩转远程登录

编程语言 网络编程
Maxthon Access玩转远程登录

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop教程:浪漫氛围 给图片加上梦幻爱心

Photoshop教程:浪漫氛围 给图片加上梦幻爱心

Photoshop教程:自己打造可爱QQ表情

Photoshop教程:自己打造可爱QQ表情
下拉加载更多内容 ↓