Microsoft SQL Server7.0是一种大型、分布式数据库系统,也可被认为是一种大型、分布式数据仓库。SQL Server是一个十分注重安全性的数据库,特别是在7.0版本发布以后,可以将数据库的许可直接授予Windows NT用户,数据库角色也可以包括NT 用户或组及SQL Server旧版本的用户和角色。另外,结合Microsoft Proxy Server ,则必须通过代理服务器才能在Internet 上访问SQL Server,这样更确保了数据的安全。
一. 连接方案
在连接方案上,可选择TCP/IP套接字和命名管道的方法访问。具有NT用户帐号的用户适合于采用命名管道的方法,没有NT用户帐号的用户则不适合用此方法。这是因为在建立连接之前,数据库用户必须被NT确认,而选择TCP/IP套接字的连接则无此限制,该连接可直接连到数据库服务器,不必通过使用命名管道的中间计算机,只要通过了SQL Server确认用户就可获得访问权。
由于是编写数据库连接的ASP应用程序,采用的数据访问编程模式是ADO;在ADO以前的数据访问编程模式有数据访问对象DAO和远程访问对象RDO,RDO以及DAO都是在ODBC下开发的,ODBC是用C语言编写的基于SQL的桌面规程。相反,ADO是在一种新型的规程OLE DB下开发的,OLE DB可以被看作是OLE技术在数据库中应用。它是基于C++开发的,给ODBC的功能提供了标准化的COM接口。C++是面向对象的,因此ADO也具有面向对象的特性。并能通过一系列COM接口来扩展自己。这一点对于ASP程序来说很重要。我们知道ASP程序使用的VBScript脚本语言的功能是很弱的,若要扩充VBScript的能力,使其能访问数据,则必须创建一个服务器端组件,通过COM接口来访问数据,而这正是ADO所擅长的。
二. 连接方法
在ASP脚本中可以通过三种实用的方法连接数据库:通过ODBC DSN建立连接,通过oledb建立连接和通过driver建立连接。
(一) 通过ODBC DSN建立连接
运用ODBC数据源,首先必须在控制面板的ODBC中设置数据源,然后再编写脚本和数据库源建立连接。
1、创建 ODBC DSN
在编程连接网络上指定的服务器和数据库时,必须在Web服务器上创建数据源名(DSN)。要设置一个DSN,必须给服务器提供数据库的名字、通信所用的ODBC驱动、以及在网络中的地址。要注意的是:只有设置的DSN为一个系统DSN,才能让ADO在ASP中正常工作。如何确定DSN是系统DSN而不是用户或文件DSN呢?很简单,只有对于NT服务器上的所有用户和服务都可以访问的DSN才是系统DSN。
通过在 Windows 的"开始"菜单打开"控制面板",您可以创建基于 DSN 的文件。双击"ODBC"图标,然后选择"系统 DSN"属性页,单击"添加",选择数据库驱动程序,然后单击"下一步"。按照后面的指示配置适用于您的数据库软件的 DSN。
配置 SQL Server 数据库系统 DSN:在"创建新数据源"对话框中,从列表框中选择"SQL Server",然后单击"下一步"。键入 DSN 文件的名称,然后单击"下一步"。单击"完成"创建数据源。键入运行 SQL 服务程序的服务器的名称、登录 ID 和密码。在"创建 SQL Server 的新数据源"对话框中,在"服务器"列表框中键入包含 SQL Server 数据库的服务器的名称,然后单击"下一步"。选择验证登录 ID 的方式。如果要选择 SQL 服务器验证,请输入一个登录 ID 和密码,然后单击"下一步"。在"创建 SQL Server 的新数据源"对话框中,设置默认数据库、存储过程设置的驱动程序和 ANSI 标识,然后单击"下一步"。(要获取详细信息,请单击"帮助"。)在对话框(同样名为"创建 SQL Server 的新数据源")中,选择一种字符转换方法,然后单击"下一步"。(详细信息,请单击"帮助"。)在下一个对话框(同样名为"创建 SQL Server 的新数据源")中,选择登录设置。 注意典型情况下, 您只能使用日志来调试数据库访问问题。 在"ODBC Microsoft SQL Server 安装程序"对话框中,单击"测试数据源"。如果 DSN 正确创建,"测试结果"对话框将指出测试成功完成。
2、编写脚本和数据库源建立连接
ADO(ActiveX Data Objects ) 提供 Connection 对象,可以使用该对象建立和管理应用程序和 ODBC 数据库之间的连接。Connection 对象具有各种属性和方法,可以使用它们打开和关闭数据库连接。编写数据库连接脚本,首先应创建 Connection 对象的实例,接着打开数据库连接:
<%
set conn=server.createobject("adodb.connection")
conn.open "DSN=ODBC名称;Database=数据库名称;UID=;PWD=;"
%>
(二) 通过oledb建立连接
运用oledb方法建立页面与数据库的连接, 不需要创建 ODBC DSN数据源,直接编写如下的脚本和数据源建立连接,是一种简单易用的方法。
<%
set conn=server.createobject("adodb.connection")
conn.open "Provider=SQLOLEDB;server=SQL服务器名称或IP地址;database=数据库名称;uid=;pwd="
%>
(三) 通过driver建立连接
通过driver建立页面与数据库的连接,同样不需要创建ODBC DSN数据源,但必须知道实际的数据库文件路径或者数据源名(例如,SQLserver的数据库)。
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={sql server};server=SQL服务器名称或IP地址;database=数据库名称;uid=;pwd="%>
三. 存取控制
设计ASP程序连接SQL SERVER的另一个重要问题是实现对SQL SERVER的存取控制。由于在关系型数据库中,DBMS本身的DCL语言只支持对表和字段的存取控制,而不直接支持对表中记录提供安全性保护。为实现其安全性,同时又不失B/S结构的开放性,可以考虑采用使用中间层存取程序逻辑结合触发器的方式来实现。使用中间层存取程序即用户端程序不直接访问DBMS,而是通过一个中间层的存取程序。
以网上BBS应用为例,用户查询时,存取程序把表中的全部记录返回给用户;用户插入记录时,存取程序在新记录的User_name字段填写当前用户名,表明记录的主人,当用户删除和修改记录时,存取程序根据User_name字段向用户返回只属于他自己的记录,并允许用户从自己的记录中选择进行操作。使用触发器的方式则是所有用户直接访问表,但在表上建立如下的触发器:
CREATE TRIGGER trigger_1 on table_ 1 FOR INSERT AS
BEGIN
IF EXITS(SELECT * FROM inserted WHERE User_name<>User_name())
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请输入正确的用户名',16,-1)
END
END
CREATE TRIGGER trigger_2 on table_1 FOR UPDATE,DELETE AS
BEGIN
IF EXITS (SELECT * FROM deleted WHERE User_name<>User_name())
BEGIN
RAISERROR('你不能修改他人的数据',16,-1)
END
END
在上面的程序中,trigger_1对于用户名不正确的用户的插入请求予以否决。trigger_2对于试图修改他人的记录的请示予以否决。由于触发器附着在SQL Server的基本表中,无论用户通过何种方式更新记录,都无法跳过触发器的检查,因此使用触发器实现的安全性是相当高的。但由于在表中只能定义针对手稿删除和修改的触发器,不能定义针对查询的触发器,因此,要实现对查询的存取控制,则要通过中间层存取程序,只有向用户查询请示返回特定条件的记录来实现。
分享到:
相关推荐
"ASP连接SQL Server数据库总结" 本篇文章主要讲述了ASP连接SQL Server数据库的步骤和方法,涵盖了SQL Server数据库的安装、设置、链接、查询等方面的知识点。 一、SQL Server数据库的安装 在安装SQL Server数据库...
### ASP 连接 SQL Server 数据库的几种方法 在 Web 开发领域,ASP(Active Server Pages)作为一种服务器端脚本环境,在与数据库交互方面有着广泛的应用。本文将详细介绍 ASP 如何连接 SQL Server 数据库的几种常见...
总结来说,这个压缩包中的程序实例涵盖了以下ASP.NET与SQL Server数据库交互的关键知识点: 1. 使用ADO.NET(特别是SqlConnection)连接到SQL Server。 2. 执行SQL查询和操作。 3. 数据绑定技术在ASP.NET中的应用,...
本文研究了 ASP 连接 SQL Server 数据库的问题,讨论了 SQL Server 数据库在 ASP.NET 中的连接问题,总结了 ASP.NET 中连接 SQL Server 数据库的方式和实现方法,为网站建设和网页维护相关行业提供了有价值的参考。
### Flash连接SQLServer数据库知识点详解 #### 一、引言 随着互联网技术的发展,Flash作为一种广泛使用的多媒体技术,在网络动画、交互式应用等方面发挥了重要作用。然而,为了实现更丰富的功能和更强的数据处理...
本篇文章将详细介绍如何在ASP(Active Server Pages)环境中连接到SQL Server数据库。 首先,我们需要了解ASP的基本概念。ASP是一种微软开发的服务器端脚本环境,用于生成动态网页。它允许开发人员在网页中嵌入...
***连接SQL Server数据库的实现主要涉及到***数据访问技术,以及.NET Framework数据提供程序的使用。以下是对本文档提供的知识点的详细阐述: ### ***组件分析 ***是Microsoft公司为.NET框架开发的应用程序提供的...
本教程将详细介绍如何使用C#和ASP.NET来实现SQL Server数据库的备份。 首先,我们需要理解SQL Server的备份机制。SQL Server提供了多种备份类型,包括完整备份、差异备份、日志备份等。完整备份会保存整个数据库,...
ASP.NET中新建MVC项目并连接SqlServer数据库实现增删改查: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107024544
### 知识点详解:网站连接SQL Server数据库 在现代Web开发中,网站与数据库的交互是必不可少的一部分。本文将详细介绍如何使用C#语言在.NET框架下实现网站与SQL Server数据库之间的连接,并进行数据操作。 #### 一...
在本教程中,我们将深入探讨如何使用ASP.NET(C#)连接到SQL Server数据库,这对于任何想要进行Web开发的人来说都是至关重要的技能。 首先,我们需要了解SQL Server数据库管理系统,它是微软的一款强大的关系型...
本文将详细解析如何在ASP中使用不同的认证方式来连接SQL Server 2005数据库。 ### 一、Windows身份验证连接SQL Server 2005 Windows身份验证是基于Windows操作系统安全上下文的一种认证方式,它利用当前登录用户的...
总结,ASP.NET 2.0提供了强大的工具和API,使得与SQL Server数据库的交互变得简单而高效。通过学习和掌握这些技术,开发者能够轻松地构建出功能丰富的Web应用程序,实现数据的增删改查以及更多复杂的数据操作。在...
- **建立数据库连接**:通过读取配置文件中的连接字符串,创建`SqlConnection`对象来连接SQL Server数据库。 - **执行插入操作**:使用`SqlCommand`对象执行SQL命令,将图片信息(标题、类型和数据)插入到`...
C#SqlServer数据库链接帮助类
在本项目中,"微信小程序+后台(.net)+sql server数据库"组合形成一个完整的开发环境,适合初学者了解和学习微信小程序的开发流程,以及后端服务与数据库的集成。 首先,微信小程序部分主要涉及以下几个知识点: ...
在ASP中连接SQL Server数据库是构建数据驱动Web应用程序的基础。本文将详细介绍如何使用ASP连接到SQL Server数据库,并提供相关步骤及注意事项。 1. **安装必要组件** 在开始之前,确保已安装以下组件: - IIS ...
总结来说,Android连接C# SQL Server的过程涉及Android客户端的网络请求、C# Web服务接口设计和SQL Server数据库操作。理解并掌握这些技术,能够帮助开发者构建起客户端和服务器之间的桥梁,实现数据的高效交互。