用asp做access的远程接口

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

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

【 tulaoshi.com - ASP 】

 

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

(本文来源于图老师网站,更多请访问https://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"

(本文来源于图老师网站,更多请访问https://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是跨平台的,所以呢不

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

延伸阅读
标签: ASP
       老外真是聪明,这个方法也想得到,有兴趣的不妨试试,但是如果对方的服务器安全搞的很好的话,这个代码也许就不能用了,但不管怎么样,学习一下也是好的,:)            <% Response.Buffer = True %>   <% Server.ScriptTimeout = 500...
使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器)。 -------------------------------...
标签: ASP
  使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器)。 远程连接access数据库的几个方法: 1.建立VPN...
标签: ASP
          这几天做ASP.Net追捕,也算是我入门吧。思路很简单,主要就是识别远程主机传回的Banner, 判断远程主机服务器。这可能不够准确,因为合格的管理员可能会去修改Banner。 代码如下(从我的Web追捕里找出来的,用VB.Net)          &...
标签: Web开发
1、用Access建造一个数据库data.mdb,建立表Guest,结构如下: ID 自动编号 标题 字符串 署名 字符串 正文 备注。    2、guest.aspx  %@ Import Namespace="System.Data" %   %@ Import Namespace="System.Data.OleDb" %   htmlhead   style   !...

经验教程

683

收藏

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