怎么通过http协议联接数据库呢?或者怎么样远程联接数据库?

apple_001 2003-08-05 12:17:20
在精华区看到用xmlhttp获取服务器上的txt数据库的方法,但我不是很明白,xmlhttp是不是就是说访问了一个xml文件?我们这里就是吧?
那么能不能就是通过http协议访问呢?
或者vb能不能和一个特定的asp页面交换信息呢?我知道如何用vb给asp页面发送信息,但是如何接受它的信息呢?不知道这样的想法可不可能实现,因为我们实际上并没有打开这个asp页面,这对于asp来说,算作或者说能够执行么?
有没有什么别的方法,能允许我的ado在知道数据服务器的网址,或者ip地址的时候,能连接上特定位置的数据库,然后就能像本地机一样读取和写入数据了。
麻烦哪位大虾给看看
...全文
316 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
online 2003-11-22
  • 打赏
  • 举报
回复
希望对你又帮助
远程数据传送方法的讨论
之前做的一些系统中都涉及将本地数据上传到远程数据库服务器,或者将远程数据库服务器的数据下载的本地,都不知道用那种方式实现更方便,更安全
一种是用这样的方式实现
在远程服务器写一个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

luohaorj 2003-11-22
  • 打赏
  • 举报
回复
up
imur 2003-11-22
  • 打赏
  • 举报
回复
学习!
since1990 2003-11-21
  • 打赏
  • 举报
回复
up
hhjjhjhj 2003-11-21
  • 打赏
  • 举报
回复
试试下面的(我的服务器9zp.com上先设置好了RDS服务,如果RDS服务关了,请到http://office.9zp.com联系)
RDS是ADO的同胞兄弟,参见ADO帮助

引用 Microsoft Remote Data Services x.x Library
引用 ADO

Dim 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)
online 2003-11-21
  • 打赏
  • 举报
回复
能允许我的ado在知道数据服务器的网址,或者ip地址的时候,能连接上特定位置的数据库,然后就能像本地机一样读取和写入数据了。

RDO和ADO都可以
since1990 2003-08-06
  • 打赏
  • 举报
回复
帮你 up
rainstormmaster 2003-08-06
  • 打赏
  • 举报
回复
远程数据库的访问

----远程数据对象(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数据源。
since1990 2003-08-06
  • 打赏
  • 举报
回复
帮你up
wuhanfengchao 2003-08-06
  • 打赏
  • 举报
回复
你的问题比较难呀!COM+你去买书看吧,不一定能看懂哟!但是使用COM+简单功能是可以的,你要装2000S版,找到“管理工具”里“组件服务”,你慢慢看吧!
wuhanfengchao 2003-08-05
  • 打赏
  • 举报
回复
你可采用COM或COM+。
即分成三层结构:VB〈—〉COM+〈—〉HTML,用COM+很方便,你可实现你的功能;但是ADO好像不行,不能实现象你所说的功能。至于COM+,它好用但是不很好学(我认为)。你看着办。
不能提供你有用的信息,不好意思。
apple_001 2003-08-05
  • 打赏
  • 举报
回复
com+的东西能给指条道么?怎么开始,有没有好的入门的东西,不管怎么说也要谢谢你
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 ### 最大似然估计方法#### 一、最大似然估计方法概述最大似然估计(Maximum Likelihood Estimation, MLE)是一种被频繁采用的参数估计技术,在统计学及机器学习领域中具有普遍的适用性。该方法的核心理念在于:在已知样本数据的前提下,选取能够最大化这些样本出现可能性的参数作为估计值。#### 二、核心原理与公式##### 2.1 定义与说明设有若干个独立同分布(i.i.d.)的数据样本\( X = \{x_1, x_2, ..., x_n\} \),这些样本源自某个概率分布模型\( f(x; \theta) \),其中\( \theta \)为待估参数。最大似然估计的目的是找到一个参数估计值\( \hat{\theta} \),使得在给定参数下观察到的样本出现的概率达到最大值。具体而言,需要解决以下问题:\[\hat{\theta} = \arg\max_{\theta} L(\theta | X)\]此处,\( L(\theta | X) \)被称为似然函数,它表示在参数\( \theta \)的条件下样本\( X \)出现的概率:\[L(\theta | X) = f(X; \theta) = \prod_{i=1}^{n} f(x_i; \theta)\]对于连续型随机变量,这里的\( f(x_i; \theta) \)指的是概率密度函数;而对于离散型随机变量,则是指概率质量函数。##### 2.2 对数似然函数由于直接计算似然函数可能面临数值计算上的挑战,特别是在样本数量较大时,连乘结果可能非常小。因此,在实际操作中通常采用对数似然函数来简...
本模拟工具基于MATLAB平台开发,专用于电力变压器电气特性的仿真分析,旨在支持电力系统的设计评估与故障诊断研究。该工具充分利用MATLAB在数值计算、算法实现及图形可视化方面的优势,为变压器性能测试与内部异常状态分析提供了一套完整的仿真解决方案。 工具采用参数化编程架构,所有关键电气参数均可根据实际变压器型号及测试条件灵活调整,从而适应多样化的仿真场景。这一设计使得电力工程师与科研人员能够便捷地构建定制化仿真模型,对变压器在额定工况下的电气行为进行精确模拟,以验证其是否符合设计规范与运行标准。 在故障模拟方面,本工具可复现多种典型内部故障模式,如绕组绝缘击穿、导体开路或匝间局部短路等。通过仿真这些异常状态下的电气响应特征,有助于深入理解故障对变压器运行特性的影响机理,进而为故障预警、维护策略制定及检修方案优化提供理论依据。 代码结构清晰、逻辑严谨,各功能模块均配有详细注释,既便于用户理解仿真流程与算法原理,也利于后续的功能扩展或二次开发。这种设计提升了代码的可读性与可维护性,促进了技术交流与知识共享。 本工具适用于电气工程、自动化技术、应用数学等相关专业的高年级本科生及研究生,可用于课程实践、综合课题或毕业设计等教学环节。通过动手操作仿真实验,学生能够将电路理论、电磁暂态分析等专业知识与工程实际相结合,深化对电力变压器工作原理及系统仿真技术的理解。 工具兼容MATLAB 2014a、2019b及2024b等多个版本,并提供了可直接执行的示例数据集,大幅降低了使用门槛。用户无需额外配置即可快速开展仿真实验,即便缺乏前期经验也能高效完成专业级的变压器电气测试分析。 综上,本仿真工具不仅为电力系统设计与运维人员提供了可靠的变压器性能评估手段,也为高校相关专业的实践教学与科研训练提供了有效平台。通过该工具的应用,用户可系统掌握变压器电气特性及其故障响应的分析方法,从而提升在电力设备建模、仿真与诊断领域的专业能力。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧