坐着在想关于程序的一些事,结果突然蹦出一个很脑残的问题: 如果我用VS和SQL开发了一个winform程序,将数据库部署到公司的服务器上面,然后把这个程序给公司的同事们用,出了将这个程序本身安装到他们的机子上,我是不是还得在他们电脑上每人装一个数据库?? 如果不用的话,那么我就有点搞不懂了,比如TX的QQ,数据库是MySql对吧? 但是我自己还是很好奇我并没有安装这个数据库的。当然,发出这个帖子我已经做好了被人骂脑残的心里准备了,原谅我只是个小白,做的项目很少,基本都是在自己的电脑上完成的,除了有部署过网站,桌面应用程序至今没有.................
------解决思路----------------------
肯去想,就不是脑残
你不是已经 将数据库部署到公司的服务器上面 了吗?
那么你的程序无论是在谁的机器上运行,不都是访问服务器上的数据库吗?
------解决思路----------------------
几乎任何流行的小程序都会有保存数据的功能,腾讯QQ也不例外。如果稍微复杂一些,也许有些人会使用Sqlite、Sql Server CE、db4o等等嵌入式数据库。如果不很复杂,那么许多人就会使用自定义的二进制格式文件。
但是你说“比如TX的QQ,数据库是MySql对吧“,这就缺乏基本的判断了。腾讯有将近10亿用户,在世界各地(当然主要还是在中国)有上百个集群负责接入用户终端,你觉得它的数据库会在哪儿?你根本无法想象!因为QQ客户端是跟腾讯QQ的业务应用服务器集群接的,不是跟什么 MySql 数据库接的。
这就好比如说“所有的电视节目都是先存在硬盘上,然后拿到电视台的设备上广播的”。结果你得到的结论是”只要是卖硬盘的就会从事电视节目制作了”。这就给各种坑爹的“一个月上线一个轻应用、3个月开一个全国知名鞋城”之类的骗人的宣传提供了机会。
从用户的输入输出设备到数据库系统之间,这才是技术需要解决的问题。从水源到住家的自来水龙头之间的部分,有着巨大的系统工程,哪一个部分研发错了都会“爆管”甚至血本无归。
如果只知道“一个页面、访问一个数据库”作为轻应用开发,是自欺欺人的。绝不是像我们从招聘时从许多培训班的学员的口中听到的“在上学的4个月时间里,只会一点皮毛,在同学互助小组长的带领下,会用c#程序代码访问一下 MySql数据库就做了一个QQ软件”的。
不管你是“制作过网站、 桌面程序没有”,还是有些人只做过企业应用而没有大网站,实际上还是要拥有自己的核心技术才能维持一定优势,绝不是那么容易的。
------解决思路----------------------
数据库链接字符串可以设置成远程服务器的地址,所以说每个客户端全部都是访问服务器的数据库