书签 分享 收藏 举报 版权申诉 / 14

类型ASP连接SQLServer数据库总结.docx

  • 文档编号:5238862
  • 上传时间:2022-12-14
  • 格式:DOCX
  • 页数:14
  • 大小:914.62KB
"

EndIf

%>

复制代码

测试的代码

MM_conn_STRING="Driver={SQLServer};server=(local);uid=sa;pwd=;database=你的数据库名;"

Setconn=("")

MM_conn_STRING

SETRS=("")

SQL="SELECT*FROMTABLEORDERBYIDDESC"

SQL,CONN,3,3

strconn="DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="_

&("你的数据库名如:

")

setconn=("")

strconn

dimSqlLocalName,SqlUsername,SqlPassword,SqlDatabaseName

SqlLocalName="(local)"'连接IP[本地用(local)外地用IP]

SqlUsername="sa"'用户名

SqlPassword=""'用户密码

SqlDatabaseName=""'数据库名

ConnStr="Provider=Sqloledb;UserID="&SqlUsername&";Password="&SqlPassword&";InitialCatalog="&SqlDatabaseName&";DataSource="&SqlLocalName&";"

SqlNowString="GetDate()"

ver="SQL"

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

ENDIF

OnErrorResumeNext

Setconn=("")

ConnStr

IfErrThen

SetConn=Nothing

"数据库连接出错,请检查连接字串。

"

EndIf

OnErrorGoTo0

%>

ASP连接SQLServer数据库总结

MicrosoftSQL是一种大型、分布式数据库系统,也可被认为是一种大型、分布式数据仓库。

SQLServer是一个十分注重安全性的数据库,特别是在版本发布以后,可以将数据库的许可直接授予WindowsNT用户,数据库角色也可以包括NT用户或组及SQLServer旧版本的用户和角色。

另外,结合MicrosoftProxyServer,则必须通过代理服务器才能在Internet上访问SQLServer,这样更确保了数据的安全。

一.连接方案

  在连接方案上,可选择TCP/IP套接字和命名管道的方法访问。

具有NT用户帐号的用户适合于采用命名管道的方法,没有NT用户帐号的用户则不适合用此方法。

这是因为在建立连接之前,数据库用户必须被NT确认,而选择TCP/IP套接字的连接则无此限制,该连接可直接连到数据库服务器,不必通过使用命名管道的中间计算机,只要通过了SQLServer确认用户就可获得访问权。

  由于是编写数据库连接的ASP应用程序,采用的数据访问编程模式是ADO;在ADO以前的数据访问编程模式有数据访问对象DAO和远程访问对象RDO,RDO以及DAO都是在ODBC下开发的,ODBC是用C语言编写的基于SQL的桌面规程。

相反,ADO是在一种新型的规程OLEDB下开发的,OLE DB可以被看作是OLE技术在数据库中应用。

它是基于C++开发的,给ODBC的功能提供了标准化的COM接口。

C++是面向对象的,因此ADO也具有面向对象的特性。

并能通过一系列COM接口来扩展自己。

这一点对于ASP程序来说很重要。

我们知道ASP程序使用的VBScript脚本语言的功能是很弱的,若要扩充VBScript的能力,使其能访问数据,则必须创建一个服务器端组件,通过COM接口来访问数据,而这正是ADO所擅长的。

二.连接方法

在ASP脚本中可以通过三种实用的方法连接数据库:

通过ODBCDSN建立连接,通过oledb建立连接和通过driver建立连接。

(一)通过ODBCDSN建立连接

运用ODBC数据源,首先必须在控制面板的ODBC中设置数据源,然后再编写脚本和数据库源建立连接。

1、创建ODBCDSN

  在编程连接网络上指定的服务器和数据库时,必须在Web服务器上创建数据源名(DSN)。

要设置一个DSN,必须给服务器提供数据库的名字、通信所用的ODBC驱动、以及在网络中的地址。

要注意的是:

只有设置的DSN为一个系统DSN,才能让ADO在ASP中正常工作。

如何确定DSN是系统DSN而不是用户或文件DSN呢?

很简单,只有对于NT服务器上的所有用户和服务都可以访问的DSN才是系统DSN。

通过在Windows的"开始"菜单打开"控制面板",您可以创建基于DSN的文件。

双击"ODBC"图标,然后选择"系统DSN"属性页,单击"添加",选择数据库驱动程序,然后单击"下一步"。

按照后面的指示配置适用于您的数据库软件的DSN。

配置SQLServer数据库系统DSN:

在"创建新数据源"对话框中,从列表框中选择"SQLServer",然后单击"下一步"。

键入DSN文件的名称,然后单击"下一步"。

单击"完成"创建数据源。

键入运行SQL服务程序的服务器的名称、登录ID和密码。

在"创建SQLServer的新数据源"对话框中,在"服务器"列表框中键入包含SQLServer数据库的服务器的名称,然后单击"下一步"。

选择验证登录ID的方式。

如果要选择SQL服务器验证,请输入一个登录ID和密码,然后单击"下一步"。

在"创建SQLServer的新数据源"对话框中,设置默认数据库、存储过程设置的驱动程序和ANSI标识,然后单击"下一步"。

(要获取详细信息,请单击"帮助"。

)在对话框(同样名为"创建SQLServer的新数据源")中,选择一种字符转换方法,然后单击"下一步"。

(详细信息,请单击"帮助"。

)在下一个对话框(同样名为"创建SQLServer的新数据源")中,选择登录设置。

注意典型情况下,您只能使用日志来调试数据库访问问题。

在"ODBCMicrosoftSQLServer安装程序"对话框中,单击"测试数据源"。

如果DSN正确创建,"测试结果"对话框将指出测试成功完成。

2、编写脚本和数据库源建立连接

ADO(ActiveXDataObjects)提供Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。

Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接。

编写数据库连接脚本,首先应创建Connection对象的实例,接着打开数据库连接:

<%

setconn=("")

"DSN=ODBC名称;Database=数据库名称;UID=;PWD=;"

%>

(二)通过oledb建立连接

运用oledb方法建立页面与数据库的连接,不需要创建ODBCDSN数据源,直接编写如下的脚本和数据源建立连接,是一种简单易用的方法。

<%

setconn=("")

"Provider=SQLOLEDB;server=SQL服务器名称或IP地址;database=数据库名称;uid=;pwd="

%>

(三)通过driver建立连接

通过driver建立页面与数据库的连接,同样不需要创建ODBCDSN数据源,但必须知道实际的数据库文件路径或者数据源名(例如,SQLserver的数据库)。

<%

setconn=("")

"driver={sqlserver};server=SQL服务器名称或IP地址;database=数据库名称;uid=;pwd="%>

三.存取控制

  设计ASP程序连接SQLSERVER的另一个重要问题是实现对SQLSERVER的存取控制。

由于在关系型数据库中,DBMS本身的DCL语言只支持对表和字段的存取控制,而不直接支持对表中记录提供安全性保护。

为实现其安全性,同时又不失B/S结构的开放性,可以考虑采用使用中间层存取程序逻辑结合触发器的方式来实现。

使用中间层存取程序即用户端程序不直接访问DBMS,而是通过一个中间层的存取程序。

以网上BBS应用为例,用户查询时,存取程序把表中的全部记录返回给用户;用户插入记录时,存取程序在新记录的User_name字段填写当前用户名,表明记录的主人,当用户删除和修改记录时,存取程序根据User_name字段向用户返回只属于他自己的记录,并允许用户从自己的记录中选择进行操作。

使用触发器的方式则是所有用户直接访问表,但在表上建立如下的触发器:

CREATETRIGGERtrigger_1ontable_1FORINSERTAS

BEGIN

IFEXITS(SELECT*FROMinsertedWHEREUser_name<>User_name())

BEGIN

ROLLBACKTRANSACTION

RAISERROR('请输入正确的用户名',16,-1)

END

END

CREATETRIGGERtrigger_2ontable_1FORUPDATE,DELETEAS

BEGIN

IFEXITS(SELECT*FROMdeletedWHEREUser_name<>User_name())

BEGIN

RAISERROR('你不能修改他人的数据',16,-1)

END

END

  在上面的程序中,trigger_1对于用户名不正确的用户的插入请求予以否决。

trigger_2对于试图修改他人的记录的请示予以否决。

由于触发器附着在SQLServer的基本表中,无论用户通过何种方式更新记录,都无法跳过触发器的检查,因此使用触发器实现的安全性是相当高的。

但由于在表中只能定义针对手稿删除和修改的触发器,不能定义针对查询的触发器,因此,要实现对查询的存取控制,则要通过中间层存取程序,只有向用户查询请示返回特定条件的记录来实现.

本文来自CSDN博客,转载请标明出处:

在DOS下:

Ipconfig/all

 

我给你一个简单比较容易看懂的连接SQL数据库的代码吧:

-----------------------------------------------------

'连接SQL数据库

strdsn="driver={sqlserver};server=sqlpcname123;database=sqldata;uid=cfosea;pwd=123456"

setconn=("")

strdsn

----------------------------

你将上面的sqlpcname123,sqldata,cfosea,123456分别替换为你实际的情况:

SQL所在电脑的名称,SQL数据库文件名称,登录名称,登录密码,其他原样套用即可。

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
ASP 连接 SQLServer 数据库 总结
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:ASP连接SQLServer数据库总结.docx
链接地址:https://www.bdocx.com/doc/5238862.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开