仓酷云

标题: ASP教程之开辟毗连远程SQL Server 的ASP程序应注... [打印本页]

作者: 只想知道    时间: 2015-1-16 22:32
标题: ASP教程之开辟毗连远程SQL Server 的ASP程序应注...
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.MicrosoftSQLServer7.0是一种年夜型、散布式数据库体系,也可被以为是一种年夜型、散布式数据堆栈。因为其与
WindowsNT和BackOffice和VisualStudio具有严密的共同,已被愈来愈多的收集使用体系所接纳。而ASP程序也以其和
NT的严密毗连,可以使用ActiveX工具、CGI接口工具化等特性向CGI程序倡议了无力的应战。上面,就谈谈开辟毗连远程SQL
Server的ASP程序应注重的几个成绩。
  SQLServer是一个非常注意平安性的数据库,出格是在7.0版本公布今后,能够将数据库的允许间接授与WindowsNT用
户,数据库脚色也能够包含NT用户或组及SQLServer旧版本的用户和脚色。别的,分离MicrosoftProxyServer,则必
须经由过程代办署理服务器才干在Internet上会见SQLServer,如许更确保了数据的平安。
  在毗连计划上,可选择TCP/IP套接字和定名管道的办法会见。具有NT用户帐号的用户合适于接纳定名管道的办法,没
有NT用户帐号的用户则不合适用此办法.。这是由于在创建毗连之前,数据库用户必需被NT确认,而选择TCP/IP套接字的连
接则无此限定,该毗连可间接连到数据库服务器,不用经由过程利用定名管道的两头盘算机,只需经由过程了SQLServer确认用户
便可取得会见权。

  因为是编写数据库毗连的ASP使用程序,接纳的数据会见编程形式固然是ADO啦!在ADO之前的数据会见编程形式无数据
会见工具DAO和远程会见工具RDO,RDODAO都是在ODBC下开辟的,ODBC是用C言语编写的基于SQL的桌面规程。相反,ADO是在
一种新型的规程OLE
DB下开辟的,OLE DB能够被看做是OLE手艺在数据库中使用。它是基于C++开辟的,给ODBC的功效供应了尺度化的COM接
口。C++是面向工具的,因而ADO也具有面向工具的特征。并能经由过程一系列COM接口来扩大本人。这一点关于ASP程序来讲,
其实是太主要了。我们晓得ASP程序利用的VBScript剧本言语的功效是很弱的,若要扩大VBScript的才能,使其能会见数
据,则必需创立一个服务器端组件,经由过程COM接口来会见数据,而这恰是ADO所善于的。

  在编程毗连收集上指定的服务器和数据库时,还必需在Web服务器上创立数据源名(DSN)。要设置一个DSN,必需给服
务器供应数据库的名字、通讯所用的ODBC驱动、和在收集中的地点。要注重的是:只要设置的DSN为一个体系DSN,才干
让ADO在ASP中一般事情。怎样断定DSN是体系DSN而不是用户或文件DSN呢?很复杂,只要关于NT服务器上的一切用户和服务
都能够会见的DSN才是体系DSN。
  设置SQL
  SERVER的DSN很复杂,只须在有IIS或PWS的呆板上启动“把持面板”的“ODBC”,在“ODBC数据源办理员”对话框当选
取“体系数据源称号”选项后,拔取“SQLSERVER”便可。若无“SQLSERVER”,则先增加,再拔取便可。如许,即便我
们要变动数据库,也不用修正程序中的ODBC参数,只需从头设置体系的DSN便可。
  计划ASP程序毗连SQLSERVER的另外一个主要成绩是完成对SQLSERVER的存取把持。因为在干系型数据库中,DBMS自己的
DCL言语只撑持对表和字段的存取把持,而不间接撑持对表中纪录供应平安性回护。为完成其平安性,同时又不掉B/S布局
的开放性,能够思索接纳利用两头层存取程序逻辑分离触发器的体例来完成。利用两头层存取程序即用户端程序不间接访
问DBMS,而是经由过程一其中间层的存取程序。以网上BBS使用于为例,用户查询时,存取程序把表中的全体纪录前往给用户;
用户拔出纪录时,存取程序在新纪录的User_name字段填写以后用户名,标明纪录的仆人,当用户删除和修正纪录时,存取
程序依据User_name字段向用户前往只属于他本人的纪录,并同意用户从本人的纪录当选择举行操纵。利用触发器的体例则
是一切用户间接会见表,但在表上创建以下的触发器:

CREATETRIGGERtrigger_1ontable_1FORINSERTAS
BEGIN
IFEXITS(SELECT*FROMinsertedWHEREUser_nameUser_name())
BEGIN
ROLLBACKTRANSACTION
RAISERROR(请输出准确的用户名,16,-1)
END
END
CREATETRIGGERtrigger_2ontable_1FORUPDATE,DELETEAS
BEGIN
IFEXITS(SELECT*FROMdeletedWHEREUser_nameUser_name())
BEGIN
RAISERROR(你不克不及修正别人的数据,16,-1)
END
END


  在下面的程序中,trigger_1关于用户名不准确的用户的拔出哀求予以反对。trigger_2关于试图修正别人的纪录的请
示予以反对。因为触发器附着在SQLServer的基础表中,不管用户经由过程何种体例更新纪录,都没法跳过触发器的反省,因
此利用触发器完成的平安性是相称高的。但因为在表中只能界说针敌手稿删除和修正的触发器,不克不及界说针对查询的触发
器,因而,要完成对查询的存取把持,则要经由过程两头层存取程序,只要向用户查询叨教前往特定前提的纪录来完成。
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全
作者: 山那边是海    时间: 2015-1-19 16:23
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者: 小妖女    时间: 2015-1-25 21:34
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 精灵巫婆    时间: 2015-2-4 03:58
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 金色的骷髅    时间: 2015-2-9 15:32
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 第二个灵魂    时间: 2015-2-27 08:45
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 爱飞    时间: 2015-3-9 00:01
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
作者: 飘飘悠悠    时间: 2015-3-16 19:09
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 柔情似水    时间: 2015-3-23 00:18
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2