ASP连接SQLServer数据库总结.docx

上传人:b****4 文档编号:5238862 上传时间:2022-12-14 格式:DOCX 页数:14 大小:914.62KB
下载 相关 举报
ASP连接SQLServer数据库总结.docx_第1页
第1页 / 共14页
ASP连接SQLServer数据库总结.docx_第2页
第2页 / 共14页
ASP连接SQLServer数据库总结.docx_第3页
第3页 / 共14页
ASP连接SQLServer数据库总结.docx_第4页
第4页 / 共14页
ASP连接SQLServer数据库总结.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

ASP连接SQLServer数据库总结.docx

《ASP连接SQLServer数据库总结.docx》由会员分享,可在线阅读,更多相关《ASP连接SQLServer数据库总结.docx(14页珍藏版)》请在冰豆网上搜索。

ASP连接SQLServer数据库总结.docx

ASP连接SQLServer数据库总结

SQL版系统数据库的链接设置

这里在提示一下,一定记住了安装SQLServer软件时,请注意安装过程中的身份验证模式要为“SQLServer和Windows混合模式”。

1.依次单击“开始”->“程序”->“MicrosoftSQLServer”->“企业管理器”

2.在企业管理器窗口中,选择“数据库”,右键选择“新建数据库”。

在出现的“数据库属性”窗口中填写您要的数据库名,再单击“确定”。

3.选中刚才新建的数据库,单击顶部菜单中的“工具”->“SQL查询分析器”在出现的“SQL查询分析器”窗口中,单击工具栏上的“打开”按钮。

然后打开系统所在文件夹中的Database\***.sql查询文件。

4.点工具栏上的“执行查询”按钮,以查询以创建系统需要的表和存储过程。

在“查询”窗口中出现“所影响的行数为1行”等成功信息。

关闭“SQL查询分析器”窗口。

5.回到SQL控制台。

单击“安全性”,选择“登录”,右\键选择“新建一个登录”。

在出现的“SQLServer登录属性-新建登录”窗口的“常规”选项中,输入名称、SQLServer身份验证密码,并选中您新建的数据库。

6.在“数据库访问”选项中,勾选您新建的数据库,并勾选“public”和“db_owner”这二个数据库角色。

单击确定,再次输入一遍密码以确认。

至此,已经完成了本系统的SQL数据库的安装。

您还需要修改本系统文件中的数据库链接设置:

3.我是用《聊湾视频语音聊天网》程序来测试的,在chat目录下没能发现*.SQL文件,但BBS目下有,这样不知是不是聊天程序没有SQL数据库呢?

我试连过BBS目录下的*.SQL文件也不行,提示错误还是和之前没有设置SQLSERVER服务器的一样,ASP连SQL代码如下:

以下代码从文件中复制出来-----------------------------------------------------------------------------------------------------------------

<%

request_ip=("REMOTE_ADDR")

re_ip=Split(replace_ip,"|")

Fori=0ToUBound(re_ip)

ifright(re_ip(i),1)="*"then

ifleft(re_ip(i),6)=left(request_ip,6)then

"很抱歉,本功能暂停开放,请稍后再试"

endif

elseifre_ip(i)=request_ipthen

"很抱歉,本功能暂停开放,请稍后再试"

endif

next

dimstartime

dimconn

dimconnstr

startime=timer()

functionopenarticle

Setconn=("")

c&(DB_article)

connstr

EndFunction

functionopensites

Setconn=("")

c&(DB_sites)

connstr

EndFunction

functionopenpic

Setconn=("")

c&(DB_pic)

connstr

EndFunction

functionopenmodel

Setconn=("")

c&(DB_model)

connstr

EndFunction

functionopennews

Setconn=("")

c&(DB_news)

connstr

EndFunction

functionopendiary

Setconn=("")

c&(DB_diary)

connstr

EndFunction

functionopendown

Setconn=("")

c&(DB_down)

connstr

EndFunction

functionopengb

Setconn=("")

c&(DB_gb)

connstr

EndFunction

functionopenadmin

Setconn=("")

c&(DB_admin)

connstr

EndFunction

functionCloseDatabase

Setconn=Nothing

EndFunction

Functionkeys(str)

word=replace_word

reword=Split(word,",")

Fori=0ToUBound(reword)

ifi=0then

restr=replace(str,reword(i),"***")

else

restr=replace(re_1,reword(i),"***")

endif

re_1=restr

next

keys=restr

EndFunction

%>

给你一个连接的方法:

<%

DimConn,Connstr

DimstrServer,strUid,strPwd,strDB

strServer=""'SQL数据库服务器地址

strUid=""'数据库用户名

strPwd=""'数据库密码

strDB=""'数据库名

'OnErrorResumeNext

SetConn=("")

Connstr="driver={sqlserver};server="&strServer&";uid="&strUid&";pwd="&strPwd&";database="&strDB

Connstr

IfErrThen

SetConn=Nothing

"数据库服务器端连接错误,请与网站管理员联系。

"

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数据库文件名称,登录名称,登录密码,其他原样套用即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

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