ASP设计常见问题及解答精要-2
文章类别:
asp | 发表日期:2008-10-5 20:34:11
9、问题:我有没有必要在每一个ASP文件中使用“Option Explicit”?
答:在实际应用中,VBScript变量的概念已经模糊了,允许直接使用变量,而不用Dim声明变量,但这并不是一个好习惯,容易造成程序错误,因为可能重复定义一个变量。我们可以在程序中使用Option Explicit语句,这样在使用一个变量的时候,必须先声明它,如果使用了没有经过声明的变量,运行时,程序就会出错。
实践证明,ASP文件中使用“Option Explicit”可以使得程序出错机会降到最少,并且会大大提升整体性能。
10、问题:运行ASP文件时有什么安全措施?
答:ASP提供了很好的代码保护机制,所有的ASP代码都在服务器端执行而只返回给客户端代码执行结果。但仍不排除恶意人士对Web服务器的刻意破坏,所以在编写ASP文件时更要注意安全问题。
虽然在ASP中引入文件以inc作为扩展名,在这里仍建议以ASP作为引文件的扩展名。当这些代码在安全机制不好的Web Server上运行时,只需在地址栏上输入引入文件的地址(inc为扩展名),就可以浏览该引入文件的内容,这是由于在Web Server上,如果没有定义好解析某类型(比如inc)的动态连接库时,该文件以源码方式显示。
另外,不要把数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,为数据库建立数据源名称DSN(Date Source Name),在DSN中存储了有关连接到指定数据提供者的信息,包括:“数据库的物理位置,用于访问数据库的驱动程序的类型,访问数据库的驱动程序所需要的任何其他参数”,在进行数据库访问时可以直接访问该DSN。
11、问题:评介Web数据库管理系统时,应该考虑哪些问题?
答:在评价一个Web数据库管理系统时,必须考虑到三方面的问题:多用户问题;所建立的Web数据库应该是关系型的;数据库的安全性问题。
12、问题:ADO是什么,它是如何操作数据库的?
答:ADO的全名是ActiveX Data Object(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。
ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下:
·Connection对象:负责打开或连接数据库文件;
·Recordset对象:存取数据库的内容;
·Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。
13、问题:使用Recordset对象和Command对象来访问数据库的区别在哪里?
答:Recordset对象会要求数据库传送所有的数据,那么数据量很大的时候就会造成网络的阻塞和数据库服务器的负荷过重,因此整体的执行效率会降低。
利用Command对象直接调用SQL语句,所执行的操作是在数据库服务器中进行的,显然会有很高的执行效率。特别是在服务器端执行创建完成的存储过程,可以降低网络流量,另外,由于事先进行了语法分析,可以提高整体的执行效率。
14、问题:是否必须为每一个Recordset对象创建一个Connection对象?
答:可以同时对不同的Recordset对象使用相同的Connection对象,以节省资源。
15、问题:什么是数据库管理系统(DBMS)?
答:数据库为了保证存储在其中的数据的安全和一致,必须有一组软件来完成相应的管理任务,这组软件就是数据库管理系统,简称DBMS,DBMS随系统的不同而不同,但是一般来说,它应该包括以下几方面的内容:
数据库描述功能:定义数据库的全局逻辑结构,局部逻辑结构和其他各种数据库对象;
数据库管理功能:包括系统配置与管理,数据存取与更新管理,数据完整性管理和数据安全性管理;
数据库的查询和操纵功能:该功能包括数据库检索和修改;
数据库维护功能:包括数据引入引出管理,数据库结构维护,数据恢复功能和性能监测。
为了提高数据库系统的开发效率,现代数据库系统除了DBMS之外,还提供了各种支持应用开发的工具。
16、问题:当前流行的WEB数据库管理系统有哪些?
答:当前流行的Web数据库管理系统有微软的SQL Server、Oracle、DB2、Sybase,小规模的企业多使用Access。