首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

增加两行代码将你的VB6+Access单机程序升级为网络版(附:VB6在Internet环境下访问远程数据库最高效的方法)

2012-04-01 
【原创】增加两行代码将你的VB6+Access单机程序升级为网络版(附:VB6在Internet环境下访问远程数据库最高效的

【原创】增加两行代码将你的VB6+Access单机程序升级为网络版(附:VB6在Internet环境下访问远程数据库最高效的方法)
本文解决vb6+access网络访问,以及vb6+mssql在internet环境下连接十分低效的问题。

  首先来看看基于ado+access的单机版应用代码: (源码下载地址: http://www.tebny.com/2code/adodemo.rar)
这是一个很典型的ado+access的应用,其中包含了增、删、改、查的各种操作.由于代码比较简单,这里就不赘述了。
  我们的任务是如何将这个典型的单机应用,只增加两行代码使其扩展为网络版。
  第一步:下载并注册NetData控件: http://www.tebny.com/2code/netdatademo.rar
  第二步:建立服务器端程序:
  2.1 新建一个vb工程,并保存,加入刚刚注册好的NetData控件,然后将NetDataServer控件放到form1上。
  2.2 在Form_Load事件中加入:
  NetDataServer1.Start "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cs.mdb;", "8888"
  这个方法有两个参数,第一个是标准的ado连接字符串,第二个是服务器端占用的端口,这里设置为8888
  这里需要注意的是连接字符串中的数据库路径,这个数据库就是adoDemo里的数据库。我这里将它复制到
  了当前目录下。
  2.3 在Form_Unload事件中加入:
  NetDataServer1.Down '关闭服务,释放资源...
  2.4 编译该项目,得到Server.exe
  这样,服务器端就构建完成了,不错,就是这么的简单。
  (详细代码见刚刚下载的netdatademo/服务器端)
  第三步:更改原有单机版程序为客户端程序(只须增加两行代码):
  3.1 打开原有的项目,将目录下的cs.mdb移动到刚刚建立的服务器端的目录下。是的,客户端不需要数据库,
  因为数据库存在服务器端。
  3.2 第一步-->>> 注释或删除掉原有ADO本地连接代码 
  'Public DB As New Connection 'ado对象中的连接对象
  该代码在Form1的第一行
  3.3 第二步-->>> 在Form_load事件中,注释或删除掉原有ADO本地连接的代码
  'DB.CursorLocation = adUseClient '设置数据库为本地数据库
  'DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cs.mdb;"
  3.4 第三步-->>> 在Form_load中,增加一行代码:
  Db.Start "127.0.0.1", "8888"
  启动客户端,指定服务器的ip和端口,为了便于测试这里设置的是本机ip
  实际应用中需将服务器端运行在远程服务器上,这里就要填远程服务器的域名或ip了。
  注意:这行代码需增加到 Call Fillfg 过程之前
  3.5 第四步-->>> 在Form_Unload事件中,注释或删除原有的ADO关闭本地连接的代码:
  'DB.Close '注释掉原有ADO本地连接代码
  然后增加第二行代码:
  Db.Down '关闭客户端控件...
  注意:这行代码一定要加上,不释放资源会影响客户端性能的。
  3.6 第五步--->>>最重要的一步!那就是加入NetData控件,并且将NetDataClient放到form1上,将它的name改名为DB
  注意:为了兼容旧有的代码一定要将NetDataClient控件名改为DB
  3.7 编译该项目,得到Client.exe
  至此,单机版向网络版的升级就大功告成了。先运行server.exe,再运行3个client.exe,测试一下~
速度是不是很快。如果你有自己的internet服务器,可以将数据库和server.exe复制到服务器上,在服务器上运行。
(别忘了在服务器端注册NetData控件)。client.exe可以在多个客户端运行。这样基于vb6+access的c/s架构应用就搭建完毕了。
  基于mssql的应用也可用此方法升级,优点就是用netdata替代ado直连mssql的方式,会带来巨大的性能提升。因为ado直连远程
mssql实在是太慢了,查询量稍大就会超时机器不稳定,使用netdata就从根本上解决了这个问题。
  本文只是介绍了netdata的一部分简单的应用,如:事务、存储过程、服务器端处理业务逻辑等一些实用性的东西没有探讨,
netdata不仅能胜任,而且十分高效。更多的netdata功能等待您的发掘~

  ps: NetData是我在实际工作中提炼出来的,基于Winsock,ado和xml技术的vb6用户控件。此控件为共享软件,大家可无限制的使用于
非商业性应用中。有任何好的建议或对此控件的疑问,请联系我QQ: 170836023

[解决办法]
我在本机试了试很不错!
[解决办法]
很好 收藏了
[解决办法]
收藏了!
[解决办法]
不错!
[解决办法]

探讨
收藏了!

[解决办法]
哦~
[解决办法]
同志们
顶啊..........!
[解决办法]
好东西
收藏起来以后可能有用
谢谢
------解决方案--------------------


下载收藏了

热点排行
Bad Request.