现在,我有一个问题向你请教.
现在,我正在做一个三层结构的系统.
客户端通过远程访问应用服务器,应用服务器再访问数据库服务器.
中间层(dll文件)放在应用服务器上,我在客户端怎样访问中间层的
dll文件,再通过中间层的dll文件访问数据库服务器.
最好有简单的VB源代码.谢谢了。
现在,我正在做一个三层结构的系统.
客户端通过远程访问应用服务器,应用服务器再访问数据库服务器.
中间层(dll文件)放在应用服务器上,我在客户端怎样访问中间层的
dll文件,再通过中间层的dll文件访问数据库服务器.
最好有简单的VB源代码.谢谢了。
新建一个ActiveX DLL命名为VBCOMServer并在下面新建一个名为COMServer的ClassModule,输入如下代码:
=============================================================
Option Explicit
Public Function getString(ByVal Value As Integer) As String
On Error GoTo ErrHandle
getString = Str(Value)
ErrHandle:
Err.Raise Err.Number, "VBCOMServer.COMServer.getString", Err.Description
End Function
=============================================================
客户端
=============================================================
Dim APServer As ObjectPrivate Sub Form_Load()
On Error Goto ErrHandle
Dim iValue As Integer
Dim sValue As String
Set APServer = CreateObject("VBCOMServer.COMServer", "(local)")
ivale = 1025
sValue = APServer.getString(iValue)
MsgBox sValue
ErrHandle:
MsgBox Err.Description
End Sub
=============================================================
能否给一个访问数据库的简单的VB代码.
比如,在数据库有一个A表.在客户端通过
访问应用服务器,来访问A表,在客户端和应用服务器端,
怎么写代码,谢谢了。
报错,未在本地机器上注册类。
应该怎样注册??
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\parameters\ADCLaunch
之下.
这样就可以使用如下方式使用:
Dim APServer As Object
Dim oRDS As Object
Set oRDS = CreateObject("RDS.DataSpace")
Set APServer = oRDS.CreateObject("VBCOMServer.COMServer",[ServerIPAddress or ServerName])
你也可以试试,这个就简单点。
下载地址:http://iemis.vicp.net/EasyDCOMObject.RAR
包括文件:
1.ScktSrvr.exe
2.EasyDCOMObject.DLL
说明:
ScktSrvr.exe 全称Borland Socket Server,用来Socket方式的COM代理服务器
EasyDCOMObject.dll 一个用BCB6做的基于Socket方式访问COM的组件。在注册了服务器组件的机器上启动scktsrvr.exe(可以使用/install开关加载为服务),然后在用户机器上注册EasyDCOMObject.dll,然后就可以如下使用:Dim objEasyDCOMObject as Object
Dim APServer as Object
Dim iValue as Integer
Dim sValue as String
set objEasyDCOMObject=CreateObject("EasyDCOMObject.EasyDCOMObject")
set APServer=objEasyDCOMObject.GetObj("VBCOMServer.COMServer")
iValue=1000
sValue=APServer.getString(iValue)
Debug.Print sValue
另外将ProgID添加到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\parameters\ADCLaunch
之后只授权给了WEB访问方式,也就是说
RDSObject.CreateObject(ProgID,ServerName/ServerIP)应改为
RDSObject.CreateObject(ProgID,"http://"+Server)