在精华区看到用xmlhttp获取服务器上的txt数据库的方法,但我不是很明白,xmlhttp是不是就是说访问了一个xml文件?我们这里就是吧?
那么能不能就是通过http协议访问呢?
或者vb能不能和一个特定的asp页面交换信息呢?我知道如何用vb给asp页面发送信息,但是如何接受它的信息呢?不知道这样的想法可不可能实现,因为我们实际上并没有打开这个asp页面,这对于asp来说,算作或者说能够执行么?
有没有什么别的方法,能允许我的ado在知道数据服务器的网址,或者ip地址的时候,能连接上特定位置的数据库,然后就能像本地机一样读取和写入数据了。
麻烦哪位大虾给看看

解决方案 »

  1.   

    你可采用COM或COM+。
    即分成三层结构:VB〈—〉COM+〈—〉HTML,用COM+很方便,你可实现你的功能;但是ADO好像不行,不能实现象你所说的功能。至于COM+,它好用但是不很好学(我认为)。你看着办。
    不能提供你有用的信息,不好意思。
      

  2.   

    com+的东西能给指条道么?怎么开始,有没有好的入门的东西,不管怎么说也要谢谢你
      

  3.   

    你的问题比较难呀!COM+你去买书看吧,不一定能看懂哟!但是使用COM+简单功能是可以的,你要装2000S版,找到“管理工具”里“组件服务”,你慢慢看吧!
      

  4.   

    远程数据库的访问----远程数据对象(RDO)是VB 5.0中基于ODBC API的对象模型,它短
    小、快捷、强健,可以访问任何32位ODBC数据源,如SQL Server和
    Oracle数据库,是访问远程数据库的更新更高级的工具。----使用RDO的一般方法如下。----先声明变量:Public con As rdoConnection, res As rdoResultset----然后初始化rdoEngine,设置用户和口令等缺省参数;    With rdoEngine
            .rdoDefaultUser = "sa"                 '用户为 sa
            .rdoDefaultPassword = "pass"           '口令为 pass
            .rdoDefaultCursorDriver = rdUseServer
            .rdoDefaultLoginTimeout = 15
    End With----再连接到要访问的远程数据库(可使用DSN Connection和DSN-Less
    Connection)。----使用DSN Connection举例(连接服务器SERVER上的数据库hotel):Set con = rdoEnvironments(0).OpenConnection
    ("hotel", rdDriverNoPrompt, False)----使用DSN-Less Connection举例(连接服务器SERVER上的数据库
    hotel):Set con = rdoEnvironments(0).OpenConnection
    ("", rdDriverNoPrompt, False, _
            "driver={SQL Server};
              server=SERVER; database=hotel")----建立连接后,既可使用OpenResultset方法执行查询并处理结果
    集,又可使用Execute方法执行包括数据定义和数据操作在内的动
    作查询。例如:Set res = con.OpenResultset
    ("SELECT * FROM menu", rdOpenStatic)
    con.Execute "CREATE VIEW menu_view AS SELECT 代码,
    菜名FROM menu", rdExecDirect----RDO最强大和最重要的特性之一是:它可以查询和处理由存储
    过程返回的结果,无论它有多么复杂。----除RDO外,还可使用RDC访问远程数据库。----远程数据控件(RDC)与数据控件(DC)类似,不同之处是RDC使用
    RDO连接到ODBC驱动程序管理器,而DC则使用DAO连接到Jet数据库
    引擎。利用RDO和RDC,无需使用Jet引擎就可以访问ODBC数据源。这
    样,在访问远程数据库时,可以获得更好的性能和更大的灵活性。----远程数据控件MSRDC使用举例如下。    Connect:   driver={SQL Server}; server=SERVER; database=hotel
        DataSourceName:
        SQL:   SELECT * FROM menu
        UserName:          sa
        Password:          pass
    CursorDriver:      3-rdUseClient----可以使用RDC执行许多简单的远程数据访问操作,不需编写任
    何代码,只要填写有关项就可以了,使用起来很方便。但应注意,
    除非在设计时禁止并只在需要时启动RDC,否则它至少将消耗一
    个远程数据库连接。在远程数据库连接资源有限或要求很高效的
    情况下,宜慎用、少用RDC。这种情况下,应尽可能考虑使用RDO,
    并使用存储过程(预编译好的SQL语句)。----最后还应注意,只有32位操作系统(如WindowsNT或Windows95),
    才能支持RDO和RDC。RDO和RDC也只能用于访问32位ODBC数据源。
      

  5.   

    能允许我的ado在知道数据服务器的网址,或者ip地址的时候,能连接上特定位置的数据库,然后就能像本地机一样读取和写入数据了。RDO和ADO都可以
      

  6.   

    试试下面的(我的服务器9zp.com上先设置好了RDS服务,如果RDS服务关了,请到http://office.9zp.com联系)
    RDS是ADO的同胞兄弟,参见ADO帮助引用 Microsoft Remote Data Services x.x Library
    引用 ADODim DF As Object
    Dim strServer As String
    Dim strConnect As String
    Dim strSQL As String
    Dim objADORs As Recordset
    Dim ds As New DataSpace
    Dim k As String
    Dim i As Integer
    strServer = "http://9zp.com"
    strConnect = "Data Source=hzn;"
    strSQL = "Select * from parts"
    Set DF = ds.CreateObject("RDSServer.DataFactory", strServer)
    Set objADORs = DF.Query(strConnect, strSQL)
    For i = 0 To objADORs.Fields.Count - 1
    k = k & objADORs.Fields(i).Name & Chr(10)
    Next i
    MsgBox k
    MsgBox objADORs.Fields(0)
    objADORs.Fields(0) = "改变这几个字试试"
    DF.SubmitChanges strConnect, objADORs
    MsgBox objADORs.Fields(0)
      

  7.   

    希望对你又帮助
     远程数据传送方法的讨论
    之前做的一些系统中都涉及将本地数据上传到远程数据库服务器,或者将远程数据库服务器的数据下载的本地,都不知道用那种方式实现更方便,更安全 
    一种是用这样的方式实现 
    在远程服务器写一个ASP文件接收数据如: <% If Request.ServerVariables("REQUEST_METHOD")="POST" Then 
       ON ERROR RESUME NEXT 
       Dim AttendArray 
       Dim ResStr 
       Set xmldom=Server.CreateObject("Microsoft.XMLDOM") 
       Set Obj=Server.CreateObject("SAS.SHIFT") 
       xmldom.load(Request) 
       Set Rs=Server.CreateObject("ADODB.Recordset") 
       Rs.Open xmldom 
       AttendArray=Rs.GetRows  
       If IsArray(AttendArray) Then 
          ResStr=Obj.AddAttendRecord(AttendArray) 
       End If 
       If Err.number =0 Then 
          Response.Write "OK" 
          Set xmlResult=Server.CreateObject("Microsoft.XMLDOM") 
          xmlResult.save(Response) 
          Set xmlResult=Nothing    
       Else 
          Response.Write "NO"       
          Set xmlResult=Server.CreateObject("Microsoft.XMLDOM") 
          xmlResult.save(Response)  
          Set xmlResult=Nothing    
       End If 
    End If 
    %> 
    客户端这样写的     Dim Url As String     Url = "http://"; & ServerName & "/shift/AddAttendRecord.asp" 
         
        Dim Conn As ADODB.Connection 
        Dim rs As ADODB.Recordset 
        Dim Strm As ADODB.Stream 
        Dim XMLHttp As XMLHTTPRequest 
        Dim ObjSas As InstantPassCls.clsSAS 
        Dim AttendArray As Variant 
        Dim i As Integer 
        Set rs = New ADODB.Recordset 
        Set ObjSas = New InstantPassCls.clsSAS 
        AttendArray = ObjSas.GetUploadRecord 
         
        If IsArray(AttendArray) Then 
             
            With rs.Fields 
                .Append "StaffNo", adBSTR 
                .Append "Time", adBSTR 
                .Append "AttendType", adBSTR 
            End With 
            rs.Open 
            With rs 
                For i = 0 To UBound(AttendArray, 2) 
                    .AddNew 
                    .Fields("StaffNO") = AttendArray(0, i) 
                    .Fields("Time") = AttendArray(1, i) 
                    .Fields("AttendType") = AttendArray(2, i) 
                    .Update 
                Next i 
            End With 
             
            Set Strm = New ADODB.Stream 
            rs.Save Strm, adPersistXML 
            Set XMLHttp = New XMLHTTPRequest 
            XMLHttp.Open "POST", Url, False 
            XMLHttp.send Strm.ReadText 
             
            If Err.Number = 0 Then 
                UPloadData = XMLHttp.responseText 
                Sleep (10000) 
                'If Left(UPloadData, 2) = "NO" Then 
                If InStr(1, UPloadData, "NO") > 0 Then 
                    UPloadData = LoadResString(5038) 
                    WriteLog 4, "Upload data failed" 
                End If 
                'If Left(UPloadData, 2) = "OK" Then 
                If InStr(1, UPloadData, "OK") > 0 Then 
                    ObjSas.MarkRecord 
                    WriteLog 4, "Upload data success" 
                    UPloadData = LoadResString(5037) 
                End If 
            Else 
                UPloadData = LoadResString(5036) 
                WriteLog 4, "Upload data failed" 
            End If 
         
        Else 
            UPloadData = LoadResString(5035) 
        End If 
         
        Set ObjSas = Nothing 
        Set rs = Nothing