各位高手,我就是不明白怎样开发c/s数据库程序,对于单机数据库程序开发没有问题,各位高手能否给指点迷津?(100分)

  • 主题发起人 主题发起人 tqc2008
  • 开始时间 开始时间
T

tqc2008

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手,我就是不明白怎样开发c/s数据库程序,对于单机数据库程序开发没有问题,各位高手能否给指点迷津?
 
C/S结构是(逻辑)两层结构,象你编写的几个本地数据库程序,除了要考虑多用户以外,只要
数据库是网络数据库,就可以称作是C/S结构了.
现在的服务器和客户器的称谓是逻辑上的,而非物理上的叫法.

把你的本地数据库程序的数据库改为远程的就可以了,本质上没有区别,C/S结构就这样简单。
  上面许多富翁已经谈到了C/S程序设计的许多注意要点了,比如不要把数据一下子取过来等,非常重要。
  一般说来不存在服务器端与客户端连接的问题,服务器端主要工作是设计数据库,当然包括存储过程、
触发器等内容,客户器端对服务器的连接的代码我们一般不书写,那些有ADO、ODBC或者DBE去做,我们要做
的工作就跟写本地数据库程序一样。
 
pw201您好,非常感谢您的回复,您能否给我发一Demo,我比较笨啊!
还有:"把你的本地数据库程序的数据库改为远程的就可以了"这是什么意思,比如我用DBISAM,
我还是不懂,您能详细一点吗?
 
是否清楚通过网络访问数据库的概念?
不管你访问物理位置在哪里的数据库,都需要delphi建立与数据库的通道。
只要通道建好了,对于你开发程序来说可以认为你就是在做C/S结构的开发。
当然啦,开发完整的C/S必须考虑到数据库的一致性和安全性。
打个比方,你的程序修改了数据库中的一个值,但是另一个程序也尝试对该值进行修改,
结果会怎么样?
这就是你在开发程序中需要注意的地方!
 
不知道你有没有作过本地数据库的开发程序?都不知道你要干什么,怎么发源码?
你可以将你原来做的数据库程序该成C/S的,数据库放在一台机子上,程序放在另外一
台机子上,看看回有什么问题,先慢慢来,就知道要考虑那些了。
其实,说的再简单点,就是将数据库放在一个成为服务器的机子上,所有的用户只下载程序就
可以了,不用再在本地安装数据库之类的东西。
 
C/S模式说白了,就是把本地版的数据库程序拆开,本地不要建立数据库而在另一台机器上建立
一个单独的数据库,而在本地建立访问数据库的程序,需要进行数据操作时,向那台机器发出指令
便可,如查询,添加,删除,修改等,这是一个C/S模式的简单的说法,或者,在另一台存在数据库
的机器上再建立一个服务器应用程序,用以和数据库打交道,那么,本地的程序就不直接和数据库打交道了
,而是通过那台机器的服务器应用程序和数据库交互,这叫做三层模式,DO you know?[^]
 
xcailon,感谢您的回复.您能给我发送一个正规的Demo吗?
 
:tqc2008

看了你的提问。不知道你为什么不明白C/S模式,其实这个概念很易懂。
既然你做过本地的程序,理解C/S数据库应用程序就应该不难了。

本地数据库程序与客户服务器程序的本质区别是:
对于本地程序,是应用程序写的关于 SQL方面的逻辑,由本地的数据库DBMS执行。
即程序和 SQL语句都由本计算机执行。
而对于C/S程序,是应用程序写的关于SQL方面的逻辑,由另一台计算机上的数据库DBMS
执行,即本机执行客户程序,程序中的 SQL语句,被送到另一台计算机上执行。

:"把你的本地数据库程序的数据库改为远程的就可以了",意思是,你原来的程序基本上
不要作修改,只要通过 BDE 配置一个网络数据库就可以了。即建立一个连接到另一
台数据库的通道也即所谓的数据库别名。
建立步骤可如下: (假定使用oracle)
首先,安装oracle XX的客户端。安装完成后,打开“oracle net8 easy config“
建立一个通道。通道的建立过程相当于映射一个网络数据库。也就是通过它建立一个新的名字,这个名字
可以认为是另一台机器上的数据库名称。使用它就象使用远程的数据库一样。
接着,使用 BDE 配置一个数据库别名。配置时,选择相应的驱动程序,
server name 选择刚才建立的通道名。密码及用户名同样输入。
接下来的部分就与你写本地程序时的步骤一样了。

刚开始的时候,就是这样了。
以后,为了提高程序的性能,就必须考虑许多因素。如要保证数据库的完整性,
一致性。必须启动事务处理功能。

 
pcc_mmz1,谢谢您的回复,我基本领会了您的意思.
 
to tqc2008:
该散分了。
 

to tqc2008兄:
该散分了。不是吗?这么多朋友帮你忙,怎么还不发分呢?
 

对了,tqc 兄。你怎么不散分呢?人家回答可艰辛噢。
 
不会吧?你的分是怎么混来的啊???
去看看书吧,c/s,b/s,(b+c)/s
 
各位老兄,我的分已经很少了,我全部分给你们,不要嫌少啊!
 
我 CAO!这位老兄怎么不发分呢?你应该知道怎么发分吧。
人家为你解答问题这么辛苦,你难道想不酬而获。真蓑!
我看得建议DFW,对那些不发分者,予以注销资格。
 
to all:
他是骗子,不要理他了,我刚才看了这个家伙的求解记录,
他从来就没有因为别人回答了问题,而给分答谢过。两个月前提的问题,
到现在还没有给分,我 Cao!
不信大家去看看就知道了,我不知道tqc2008积分已经举出来了,
为什么却不把分发下来,真损!
我建议以后大家对这些人不要太热心了!

我强烈建议大家对这些 “不酬而获”之人不予理彩!


 
怎么还不发分呢?什么意思?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部