当前位置: 首页 > 图文教程 > 网络编程 > ASP > 基于ASP的编程常见问题

ASP
自动清空站点目录下所有文件
ASPEMAIL通过Mdaemon的SMTP发信-recipient unknow处理办法
使用split分割多字符的字符串的方法
ASP调用oracle存储过程
ASP访问INTERBASE数据库
利用Session限制重复操作的简单方法
一个socket组件及其调用方法
ASP模仿asp.net的DataGrid
利用ASP技术实现文件直接上传功能
微软建议的ASP性能优化28条守则
温柔的杀手—跨站ASP Script攻击
aspjpeg组件高级使用方法介绍
asp+sqlserver 分页方法(不用存储过程)
Windows 2003上传文件不能超过200k解决方法
一个比较实用的asp函数集合类
WebClasses使注册变得容易
ASP对FoxPro自由表(DBF文件)的操作
HTTP_REFERER的工作方式
抓取动网论坛Email地址的一段代码
ASP+FSO+框架实现ASP生成htm并分页的方法(批量)

基于ASP的编程常见问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 235 ::
收藏到网摘: n/a

   基于ASP的编程常见问题
  
    基于ASP技术开发Internet/Intranet上的MIS系统是非常方便的,首先是它借用了ADO技术和概念,同时通过ODBC访问数据库,达到了充分的灵活性和多平台性,另外,由于ASP利用VBS和JS脚本语言,也保证大多数开发者很快进入开发过程,减少了学习的过程。
    但是,由于ASP是基于Internet/Intranet方式的,它和传统的C/S结构毕竟有所不同,这样在开发中也要注意一些细节问题。本文讲述常见的一些问题,并给出解决方法。
  
  问题描述
  
  A. 无法正确运行ASP
  
    当我们建立了一个ASP文件,并且符合语法时,通过浏览器输入以下地址,或通过资源管理器打开浏览:
  c:\inetpub\wwwroot\a.asp
  将出现无法运行的错误,并提示权限不对或文件无法访问,原因是,ASP文件首先要求站点是具备“执行(脚本)”属性的;然后要求按照URL格式输入地址,而不是DOS格式,所以,请改正这两个错误。
  
  B. 程序移动位置后,无法访问数据库
  
    这种错误首先在ODBC,如果ODBC数据源设置正确,那么需要注意ASP中打开数据库的命令:Conn.Open 的参数是否正确。如果正确,则需要注意是否使用了global.asa文件,该文件是ASP连接数据库的配置文件,该文件内容如下:
  <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  'You can add special event handlers in this file that will get run automatically when special Active Server Pages events
  'occur. To create these handlers, just create a subroutine with a name from the list below that corresponds to the event
  'you want to use. For example, to create an event handler for Session_OnStart, you would put the following code into this
  'file (without the comments):
  'EventName Description
  'Session_OnStart Runs the first time a user runs any page in your application
  'Session_OnEnd Runs when a user's session times out or quits your application
  'Application_OnStart Runs once when the first page of your application is run for the first time by any user
  'Application_OnEnd Runs once when the web server shuts down
  
  </SCRIPT>
  <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  Sub Session_OnStart
  '==Visual InterDev Generated - DataConnection startspan==
  '--Project Data Connection
  Session("Customers_ConnectionString")="DRIVER={SQL Server};SERVER=(local);UID=sa;PWD=;APP=Microsoft(R)Developer Studio;WSID=GREGLEAK;DATABASE=Customers"
  Session("Customers_ConnectionTimeout") = 15
  Session("Customers_CommandTimeout") = 30
  Session("Customers_RuntimeUserName") = "sa"
  Session("Customers_RuntimePassword") = ""
  '==Visual InterDev Generated - DataConnection endspan==
  End Sub
  </SCRIPT>
  要注意其中的DSN,其中SERVER后一定是数据库服务器名称,如果该处不正确,需要改正。另外是UID和PWD是否正确;还有,如果OPEN命令使用了SESSION,则需要注意
  Session("Customers_RuntimeUserName") = "sa"
  Session("Customers_RuntimePassword") = ""
  是否正确。
  
  C. RUNAT使用问题
  
    在脚本语法中,有RUNAT参数,表示该脚本是运行在服务器上还是客户机上。如果有RUNAT=SERVER则脚本运行在服务器上,由ASP解释程序来解释执行,并将结果传递给WWW服务器;否则就是运行在客户机上,由浏览器的脚本虚拟机解释执行,这时,和一般的脚本没有区别。所以,一定要注意ASP语法中的命令,如:REQUEST,QUERYSTRING,WRITE等命令或对象必须在具备RUNAT参数的脚本运行;而访问HTML的FORM对象的脚本一定没有RUNAT参数,因为HTML的FORM是客户机方面的对象,服务器无法访问。
  
  D. 无法向SQL SERVER插入日期字段
  
    如果遇到必须使用美国日期格式插入日期的情况,则需要在服务器的区域设置上设置中国长日期格式,请特别注意,ASP是在服务器上运行的,生成的HTML结果传递给浏览器,所以,所有格式设置必须