主题:[原创]谈谈我的新中间层组件与技术
zxs4785
[专家分:410] 发布于 2010-02-23 09:39:00
我的兴趣一直是VFP在互联网上的应用,但VFP要开发互联网的应用,就必须解决VFP实时操作互联网服务器上数据库(表)的技术难题。 现在,这个问题我已经很好地解决了,下面,我介绍一下我的技术方案与思路,大家探讨一下技术,但是各位网友可不要向我要源代码。
一、服务器端的方案
考虚到可能要在虚拟主机上部署,因此,我采用asp.net 2.0(VB.net)来开发,采用asp.net2.0还因为它有现成的压缩解压缩的类,可用来压缩传输数据,大大提高远程select数据的速度。 开发的源文件是一个.aspx文件与web.config文件,然后编译成DLL文件,在实际部署时,只有一个DLL文件与一个web.config文件,连.aspx文件都不需要了。
数据库的连接串在web.config里设置,可以设置多个数据库连接串。凡是可以用ADO连接的数据库(表),这个中间层都可以支持,已知的有 MsSQL、MDB、DBC、DBF等。
我的中间层技术关键就是服务器端的技术,开发测试费了我很大的精力,听说.net编译的DLL与EXE是可以反编译的,为了保护我的知识成果,将来我会想办法加密或用其他语言重写它的。
二、客户端的方案
为了保护中间层客户端代码不被反编译,我用VB6将客户端的代码写成COM组件,客户端所需的文件只有三个,COM(DLL)文件、VB运行库文件和Gzip.DLL文件。
VFP的程序只要使用这个客户端的COM,就可以实现操作互联网服务器上的数据库(表)了。下面是例子:
ovbCOM = CREATEOBJECT("vbcomSQL.sqlforVFP")
ovbCOM.ca = CREATEOBJECT("CursorAdapter")
ovbCOM.aspx = "http://zxs4785.vicp.net:88/vfpnet.aspx"
ovbCOM.DBname = "DBF"
cSQLInsert = "insert into Tel (号码) values ('66784567')" + chr(7) + "insert into Tel (号码) values ('13976572568')"
if ovbCOM.IsOnLine()
?ovbCOM.EXCUTESQL(cSQLInsert)
endif
**** 运行到这里,就在tel表里添加两条记录了。
cSQL = "Select * from tel" + chr(7) + "select * from 目录表"
if ovbCOM.IsOnLine()
?ovbCOM.BSelectSQL(cSQL,"tel,ml")
endif
*** 运行到这里,就在VFP里生成 tel 和ml两个临时表了。
回复列表 (共10个回复)
沙发
zxs4785 [专家分:410] 发布于 2010-02-24 09:05:00
没有人对VFP互联网应用有兴趣吗?
板凳
Gleam [专家分:3100] 发布于 2010-02-26 09:04:00
有兴趣,但不是很懂... ...
3 楼
zxs4785 [专家分:410] 发布于 2010-02-26 16:50:00
这方面的确挺专业的,大多数foxer都了解不多。
4 楼
lbscyb [专家分:4780] 发布于 2010-02-26 20:25:00
都做成asp了,直接用浏览器操作就是了,还要VFP干嘛?
5 楼
zxs4785 [专家分:410] 发布于 2010-02-26 20:57:00
服务器端不是使用了asp或aspx就是网页的,我是用它来做中间层,实现操作数据表的。
6 楼
北京惬意 [专家分:1330] 发布于 2010-03-06 10:49:00
好帖子,有高度,顶一下。
7 楼
北京惬意 [专家分:1330] 发布于 2010-03-09 07:41:00
[quote]好帖子,有高度,顶一下。
[/quote]
8 楼
moz [专家分:37620] 发布于 2010-03-09 23:18:00
嗯,其实我是想知道,怎么连接到你的目标数据库。
没看见连接语句。
我都不了解连接参数的具体意义。
9 楼
zxs4785 [专家分:410] 发布于 2010-03-10 08:56:00
连接字符串是在服务器端的web.config中设置的,在此并没把web.config的内容贴出来,所以你就没看到。
VFP客户端只要指定http与数据库名称(在Web.config中定义的),就可以远程直接操作数据库了。
这种方式看起来风险极大,因此我设计了安全认证的措施,关于安全认证的帖子请看
[讨论]安全认证的思路http://bbs.pfan.cn/post-317909.html
10 楼
fyren [专家分:230] 发布于 2010-03-11 08:31:00
唉!!!!想弄懂啊!!
可对我难度高了点!!
现阶段是如何有效连接!安全先放放吧!!
要安全,VFP好像不是很合适!!
我来回复