⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 web与数据库的连接方法.htm

📁 VC的一些技巧性文档
💻 HTM
📖 第 1 页 / 共 2 页
字号:
FACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">连接数据库</p></font><font FACE="System" LANG="ZH-CN" SIZE="4"><p ALIGN="JUSTIFY">Java</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">是目前</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Internet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">技术中灸手可热的新秀。它的平台无关性使得开发人员可以“一次开发,全网通用”,几乎所有的主流操作系统都已经或正在支持</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">有一件法宝——</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Applet</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">。可以译作“小程序”,它被嵌在浏览器中执行。而且主流浏览器全部支持</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">。</font><font FACE="System" LANG="ZH-CN" SIZE="4">Java</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">提供了用于连接数据库的接口</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">。</p></font><font FACE="System" LANG="ZH-CN" SIZE="4"><p ALIGN="JUSTIFY">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">在概念上与</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Windows</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">中的</font><font FACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">较相似,也是一组标准接口,它定义了数据库操作的脚本,由不同的厂家实现具体的操作过程。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">有两种主要实现方式:一种是直接</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">方式,另一种是</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC-ODBC</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">桥的方式。前一种可以理解成</font><font FACE="System" LANG="ZH-CN"SIZE="4">Java</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">中的</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">,它建立在数据库的数据在</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Client</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">端和</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Server</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">端之间传输和存放规约之上。所以它是面向具体产品的,也就是一个</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">驱动程序对应一种具体的数据库产品。例如,</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Informix Dynamic Online</font><font FACE="宋体"LANG="ZH-CN" SIZE="4">就需要专门为它编写的驱动程序。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC-ODBC</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">桥建立在</font><font FACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">的基础上。</font><font FACE="System" LANG="ZH-CN"SIZE="4">SUN</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">提供了一个接口,用于将</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">指令和操作翻译成</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">的指令和操作,再通过</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">与数据库连接。只要用户有一个</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">驱动程序就可以在</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">中实现对数据库的操作,这种方式使得</font><fontFACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">有了存在的物质基础,但其效率显然较低。</p><p ALIGN="JUSTIFY">这样,我们就可以用</font><font FACE="System" LANG="ZH-CN"SIZE="4">Java </font><font FACE="宋体" LANG="ZH-CN" SIZE="4">语言开发一套类似于</font><fontFACE="System" LANG="ZH-CN" SIZE="4">MIS</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">中前台应用程序的</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet </font><font FACE="宋体" LANG="ZH-CN"SIZE="4">,在</font><font FACE="System" LANG="ZH-CN" SIZE="4">Applet</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">中用</font><font FACE="System" LANG="ZH-CN" SIZE="4">JDBC</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">连接数据库。所不同的是:</font><fontFACE="System" LANG="ZH-CN" SIZE="4">MIS</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">应用程序必须在所有运行它的系统上安装,而</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Applet</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">则是嵌在</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Web</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">中由浏览器解释执行的。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet </font><font FACE="宋体" LANG="ZH-CN"SIZE="4">的优点是只需开发一套就可以在所有内嵌了</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java </font><font FACE="宋体" LANG="ZH-CN" SIZE="4">解释器的浏览器上执行,这就使得程序的维护工作量降到了最低点。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">平衡了服务器端与浏览器端的负载状况,将一部分从前需要在服务器上运行的代码分给了浏览器,这种平衡从总体上来看有利于提高系统的性能。</p><p ALIGN="JUSTIFY">但是,</font><font FACE="System" LANG="ZH-CN" SIZE="4">Java </font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">又有若干不足之处:首先,</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">的运行速度很慢,而且它必须从服务器端下载到客户端才能被解释执行,这就更延长了响应时间,无形中也会增加网络的负载。其次,</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java </font><font FACE="宋体" LANG="ZH-CN" SIZE="4">的图形化开发工具还不多,功能也不尽完善,给开发者带来诸多不便,这是最主要的缺点。此外,</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java </font><font FACE="宋体" LANG="ZH-CN" SIZE="4">本身是一个新生事物,它自身的缺陷是难免的,在要求较高,运行繁忙的情况下能否胜任</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Web</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">与</font><fontFACE="System" LANG="ZH-CN" SIZE="4">MIS</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">数据库间的连接,还值得进一步研究。</p></font><font FACE="System" LANG="ZH-CN" SIZE="4"><p ALIGN="JUSTIFY">3</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">、使用</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">数据库控件</p></font><font FACE="System" LANG="ZH-CN" SIZE="4"><p ALIGN="JUSTIFY">ActiveX</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">控件有点类似于</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">,又有点像插件。它是介于插件和</font><font FACE="System"LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">之间的一种东西。一个控件在被使用之前要从网络上下载到本地机上,不过只需一次下载,并自动安装。它基于微软的</font><fontFACE="System" LANG="ZH-CN" SIZE="4">COM(Component Object Model)</font><font FACE="宋体"LANG="ZH-CN" SIZE="4">技术,这种技术定义了访问和操作软件对象的标准接口协议。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">作为二进制标准实现,代码执行效率比</font><font FACE="System"LANG="ZH-CN" SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">高,不依赖于平台和编程语言。理论上它可以用任何语言开发,并被任何操作系统使用。但目前它还只能在</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Windows(NT)</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">平台上使用,开发工具也仅限于</font><font FACE="System" LANG="ZH-CN"SIZE="4">Visual C++</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">以上的版本和</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Visual Basic 5</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">版本。</p></font><font FACE="System" LANG="ZH-CN" SIZE="4"><p ALIGN="JUSTIFY">ActiveX</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">控件代码的执行完全由本地的操作系统控制,浏览器不必介入。浏览器只在开始的时候激活</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">控件,使它装载到操作系统中,此后的执行过程和顺序就由操作系统决定了,与用户交互的显示嵌在浏览器中。</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">控件的方式不但平衡了服务器和浏览器之间的负载,还更进一步地平衡了本地机系统中浏览器与其它进程的资源分配。而且它所付出的代价仅仅是第一次运行</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">控件时进行的下载,而不象</font><font FACE="System" LANG="ZH-CN"SIZE="4">Java Applet</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">那样每次都要下载。不过,由于是本地操作系统控制控件的运行,所以在本地机上必须具备控件所需的运行环境。一般的控件不存在这个问题,但数据库控件有这个问题了。例如,控件连接数据库所需的</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ODBC</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">驱动程序、数据库服务器的配置文件等。这一点似乎有悖于</font><fontFACE="System" LANG="ZH-CN" SIZE="4">Internet</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">集中维护的原则。</p><p ALIGN="JUSTIFY">试图自己开发一套</font><font FACE="System" LANG="ZH-CN"SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">数据库控件是不可能的,因为有太多的工作要做,应该尽量使用现有的成品。目前已经有厂商提供数据库控件了,例如</font><fontFACE="System" LANG="ZH-CN" SIZE="4">PowerBuilder6.0</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">就可以将它操作数据库的主要用户接口</font><font FACE="System"LANG="ZH-CN" SIZE="4">Data Windows</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">转换成</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ActiveX</font><font FACE="宋体" LANG="ZH-CN"SIZE="4">控件。这对</font><font FACE="System" LANG="ZH-CN" SIZE="4">PowerBuilder6.0</font><fontFACE="宋体" LANG="ZH-CN" SIZE="4">开发数据库前台应用的开发者来说的确很有诱惑力。</p><p ALIGN="JUSTIFY">除了上面介绍的最常用的三种方法外,还有其它一些在实践中视具体情况而采用的办法,例如</font><fontFACE="System" LANG="ZH-CN" SIZE="4">ISAPI</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">或</font><fontFACE="System" LANG="ZH-CN" SIZE="4">NSAPI</font><font FACE="宋体" LANG="ZH-CN" SIZE="4">。数据库插件等。但它们的不足之处更多一些,而其优点在前面提到的三种方式中都有体现,所以应该视其具体情况而加以采用。</p><p ALIGN="JUSTIFY">(武汉市武汉水利电力大学计算机中心 李宁 唐旭章 刘英)</p></font><p ALIGN="CENTER">回到<a href="../chinese.htm">中文教材</a></p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -