linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > ASP >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·由HTTP 500 Internal server e
·会员系统“找回密码”的制作方
·ASP实现数字和字母组合并生成图
·简单的asp验证码程序示例
·用ASP制作强大的搜索引擎
·如何让图片自动缩放以适合界面
·如何用foreach遍历页面上所有的
·如何实现站点的RSS输出
·无组件实现文件上传/下载
·ASP如何获取真实IP地址
·asp中如何使用 HTML 表格
·采用XMLHTTP编写一个天气预报的
·80004005错误及其解决方法
·asp中如何调试 ASP 脚本
·asp+ajax打造无刷新新闻评论系
最新文章
·ASP教程:8、ASP内建对象Respo
·ASP教程:7、ASP内建对象Reque
·ASP教程:6、ASP脚本循环语句
·ASP教程:5、ASP脚本变量、函数
·ASP教程:4、ASP脚本基础
·ASP教程:3、ASP基础
·ASP教程:2、ASP简介
·ASP教程:1、Are you ready?
·ASP中使用SQL语句教程
·ASP进度条
·由HTTP 500 Internal server e
·Asp无组件生成缩略图
·ASP 系列函数大全(4)
·ASP 系列函数大全(3)
·ASP 系列函数大全(2)
Google
 
ASP的编程常见问题
[ 作者:  加入时间:2007-11-28 13:53:16  来自:Linux联盟收集整理 ]
基于ASP的编程常见问题 m9gLinux联盟
   m9gLinux联盟
     基于ASP技术开发Internet/Intranet上的MIS系统是非常方便的,首先是它借用了ADO技术和概念,同时通过ODBC访问数据库,达到了充分的灵活性和多平台性,另外,由于ASP利用VBS和JS脚本语言,也保证大多数开发者很快进入开发过程,减少了学习的过程。 m9gLinux联盟
     但是,由于ASP是基于Internet/Intranet方式的,它和传统的C/S结构毕竟有所不同,这样在开发中也要注意一些细节问题。本文讲述常见的一些问题,并给出解决方法。 m9gLinux联盟
   m9gLinux联盟
   问题描述 m9gLinux联盟
   m9gLinux联盟
   A. 无法正确运行ASP m9gLinux联盟
   m9gLinux联盟
     当我们建立了一个ASP文件,并且符合语法时,通过浏览器输入以下地址,或通过资源管理器打开浏览: m9gLinux联盟
   c:\inetpub\wwwroot\a.asp m9gLinux联盟
   将出现无法运行的错误,并提示权限不对或文件无法访问,原因是,ASP文件首先要求站点是具备“执行(脚本)”属性的;然后要求按照URL格式输入地址,而不是DOS格式,所以,请改正这两个错误。 m9gLinux联盟
   m9gLinux联盟
   B. 程序移动位置后,无法访问数据库 m9gLinux联盟
   m9gLinux联盟
     这种错误首先在ODBC,如果ODBC数据源设置正确,那么需要注意ASP中打开数据库的命令:Conn.Open 的参数是否正确。如果正确,则需要注意是否使用了global.asa文件,该文件是ASP连接数据库的配置文件,该文件内容如下: m9gLinux联盟
   <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> m9gLinux联盟
   'You can add special event handlers in this file that will get run automatically when special Active Server Pages events m9gLinux联盟
   'occur. To create these handlers, just create a subroutine with a name from the list below that corresponds to the event m9gLinux联盟
   'you want to use. For example, to create an event handler for Session_OnStart, you would put the following code into this m9gLinux联盟
   'file (without the comments): m9gLinux联盟
   'EventName Description m9gLinux联盟
   'Session_OnStart Runs the first time a user runs any page in your application m9gLinux联盟
   'Session_OnEnd Runs when a user's session times out or quits your application m9gLinux联盟
   'Application_OnStart Runs once when the first page of your application is run for the first time by any user m9gLinux联盟
   'Application_OnEnd Runs once when the Web server shuts down m9gLinux联盟
   m9gLinux联盟
   </SCRIPT> m9gLinux联盟
   <SCRIPT LANGUAGE=VBScript RUNAT=Server> m9gLinux联盟
   Sub Session_OnStart m9gLinux联盟
   '==Visual InterDev Generated - DataConnection startspan== m9gLinux联盟
   '--Project Data Connection m9gLinux联盟
   Session("Customers_ConnectionString")="DRIVER={SQL Server};SERVER=(local);UID=sa;PWD=;APP=Microsoft(R)Developer Studio;WSID=GREGLEAK;DATABASE=Customers" m9gLinux联盟
   Session("Customers_ConnectionTimeout") = 15 m9gLinux联盟
   Session("Customers_CommandTimeout") = 30 m9gLinux联盟
   Session("Customers_RuntimeUserName") = "sa" m9gLinux联盟
   Session("Customers_RuntimePassword") = "" m9gLinux联盟
   '==Visual InterDev Generated - DataConnection endspan== m9gLinux联盟
   End Sub m9gLinux联盟
   </SCRIPT> m9gLinux联盟
   要注意其中的DSN,其中SERVER后一定是数据库服务器名称,如果该处不正确,需要改正。另外是UID和PWD是否正确;还有,如果OPEN命令使用了SESSION,则需要注意 m9gLinux联盟
   Session("Customers_RuntimeUserName") = "sa" m9gLinux联盟
   Session("Customers_RuntimePassword") = "" m9gLinux联盟
   是否正确。 m9gLinux联盟
   m9gLinux联盟
   C. RUNAT使用问题 m9gLinux联盟
   m9gLinux联盟
     在脚本语法中,有RUNAT参数,表示该脚本是运行在服务器上还是客户机上。如果有RUNAT=SERVER则脚本运行在服务器上,由ASP解释程序来解释执行,并将结果传递给WWW服务器;否则就是运行在客户机上,由浏览器的脚本虚拟机解释执行,这时,和一般的脚本没有区别。所以,一定要注意ASP语法中的命令,如:REQUEST,QUERYSTRING,WRITE等命令或对象必须在具备RUNAT参数的脚本运行;而访问HTML的FORM对象的脚本一定没有RUNAT参数,因为HTML的FORM是客户机方面的对象,服务器无法访问。 m9gLinux联盟
   m9gLinux联盟
   D. 无法向SQL SERVER插入日期字段 m9gLinux联盟
   m9gLinux联盟
     如果遇到必须使用美国日期格式插入日期的情况,则需要在服务器的区域设置上设置中国长日期格式,请特别注意,ASP是在服务器上运行的,生成的HTML结果传递给浏览器,所以,所有格式设置必须在服务器上。 m9gLinux联盟
   m9gLinux联盟
   E. 如何向客户机推送提示信息 m9gLinux联盟
   m9gLinux联盟
     如果在服务器上判断访问错误,如注册失败、无权操作记录等需要提示用户的信息。这个信息需要推送到客户机上,并出现提示窗口,这是经常遇到的问题。这个时候,必须使用动态页面的方式,因为错误是在服务器上判断的,而提示是在浏览器上出现的。我们 可以使用下面的ASP来推送错误: m9gLinux联盟
   on error resume next m9gLinux联盟
   conn=server.createobject("adodb.connection") m9gLinux联盟
   conn.open "pubs","wlf","" m9gLinux联盟
   '如果注册失败则错误数大于0 m9gLinux联盟
   if conn.errors.count? then m9gLinux联盟
   ‘以下代码生成客户机上的脚本语言,提供给浏览器执行 m9gLinux联盟
   response.write "<script language=JavaScript>" & chr(13) m9gLinux联盟
   response.write "{" & chr(13) m9gLinux联盟
   response.write " window.alert("您无权访问数据库!")" & chr(13) m9gLinux联盟
   response.write "}" & chr(13) m9gLinux联盟
   response.write "</script >" & chr(13) m9gLinux联盟
   end if m9gLinux联盟
   m9gLinux联盟
   F. 客户机尽量使用固定IP地址 m9gLinux联盟
   m9gLinux联盟
      由于ASP连接数据库是定时的,默认是: m9gLinux联盟
   Session("Customers_ConnectionTimeout") = 15 m9gLinux联盟
   Session("Customers_CommandTimeout") = 30 m9gLinux联盟
   两个设置决定的时间,超时后自动断开连接,所以,当刷新页面重新执行ASP代码时,如果IP分配时间不够(动态IP分配需要时间,比静态长很多!),可能无法连接上,则出现错误信息,所以尽量用静态IP地址。 m9gLinux联盟
   m9gLinux联盟
   总结 m9gLinux联盟
   m9gLinux联盟
     使用ASP编程是很方便的。由于ADO跨越了ODBC,形成具备多线程处理能力的数据库操作方式,并且是在服务器上运行,虽然增加了服务器的压力,好在现在的服务器(哪怕是PC服务器)处理能力都非常强,这样反而发挥了服务器的效率。另外,由于ASP可以和ActiveX控件进行良好的接口,也使开发者容易根据自己的需要扩充程序,并直接建立在ASP编程环境上,唯一需要注意的是,一定要以Internet/Intranet的思路设计和编写程序,否则将事倍功半。 m9gLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·asp模似windows XP 左侧的菜单效果  (2007-11-28 13:52:15)
 ·Flash和Asp数据库的结合应用  (2007-11-28 13:50:31)
 ·用ASP建立站内搜索  (2007-11-28 13:49:23)
 ·ASP中使用SQL语句操作数据库  (2007-11-28 13:48:20)
 ·ASP实现简单的网页保护  (2007-11-28 13:47:49)
 ·ASP小偷(远程数据获取)程序的入门教程  (2007-11-28 13:47:14)
 ·如何把ASP编写成DLL  (2007-11-28 13:46:25)
 ·为自己的ASP网站系统构建一套标记语言  (2007-11-28 13:45:40)
 ·ASP.NET 2.0中使用HiddenField控件  (2007-11-28 13:44:53)
 ·用ASP建立一个简单的聊天室  (2007-11-28 13:43:09)