ASP连接SQLServer数据库总结.docx
- 文档编号:5238862
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:14
- 大小:914.62KB
ASP连接SQLServer数据库总结.docx
《ASP连接SQLServer数据库总结.docx》由会员分享,可在线阅读,更多相关《ASP连接SQLServer数据库总结.docx(14页珍藏版)》请在冰豆网上搜索。
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数据库文件名称,登录名称,登录密码,其他原样套用即可。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 连接 SQLServer 数据库 总结