如何用asp连接SQL Server 数据库

 我来答
鑫视角儿
2010-12-03 · 你想要的,我尽可能有
鑫视角儿
采纳数:363 获赞数:7631

向TA提问 私信TA
展开全部
ASP连接SQL数据库 的几种方法介绍

在Internet网上随处可见留言板、讨论组、网上投票、网上调查、聊天室等Internet功能模块,在许多单位的小型局域网中也运行着各种各样的办公自动化网络系统,这些程序都是利用ASP(Active Server Page)与数据库技术结合而实现的。页面与数据库源建立连接是访问数据库的一步,也是最为重要的一步。

在ASP脚本中可以通过三种实用的方法连接数据库:通过ODBC DSN建立连接,通过oledb建立连接,通过driver建立连接。

ActiveX数据对象(ADO)

ADO(ActiveX Data Object),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。
ADO主要包括Connection,Recordset和Command三个对象, 它们的主要功能如下:
Connection对象:负责打开或连接数据库文件;
Recordset对象:存取数据库的内容;
Command对象:对数据库下达行动查询指令,以及执行SQL Server的存储过程。

一、利用ADO组件直接连接数据库方式

<%

Dim Conn,strConn

Set Conn=Server.CreateObjec(“ADODB.Connection”)

strConn=”Driver={SQL Server};Server=ServerName;”

“Uid=UserName;Pwd=Password;”

“DataBase=DatabaseName”

Conn.Open strConn,1,1

%>

二、通过ODBC DSN建立连接

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

1、创建 ODBC DSN

DSN:Data Source Name ;数据源名称。

Windows DSN 文件(数据源名)主要是用来存储数据库连接信息。如果你有很多网页需要传送数据,就可以很简单的通过DSN文件路径来完成而不需要传送数据到每个页面了。

出于安全考虑,DSN文件一般放置再主机目录的子目录中,这样不明访问者就访问不了这个目录。DSN文件 需要在ASP和ADO一起访问数据库。名称为:”_dsn” 在主机帐户的根目录中(注: DSN文件仅支持windows 方案)

ODBC(Open Database Connectivity,开放数据库互连),要访问一个数据库,首先必须用ODBC组件管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

配置 SQL Server 数据库系统 DSN:注意如果数据库驻留在远程服务器上,请与服务器管理员联系,获取附加的配置信息;下面的过程使用 SQL Server 的 ODBC 默认的设置为例。

在"创建新数据源"对话框中,从列表框中选择"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 对象的实例,接着打开数据库连接:

下面是通过数据源连接数据库的代码,为了数据库的安全起见,我们在Golbal.asa文件里写连接代码,然后在页面上调用。本例中,DSN数据源为数据源sjy。

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER">

Sub Application_onStart

Application("ConnectDataSourceString")="DSN=sjy;UID=sa;PWD=;"

Sub Application_onEnd

End sub

</Script>

在ASP页面上调用

<%

Dim conn,strconn

Set conn= Server.CreateObjec(“ADODB.Connection”)

Conn.open Application("ConnectDataSourceString")

%>

三、通过oledb建立连接

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

四、通过driver建立连接

通过driver建立页面与数据库的连接,同样不需要创建ODBC DSN数据源,但必须知道实际的数据库文件路径或者数据源名(例如,SQLserver的数据库)。
b_likj
2010-12-03 · 超过11用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:22万
展开全部
<%
Dim mode
mode=request.form("text4")
if mode=1 then
name=request.form("text1")
age=request.form("text2")
addr=request.form("text3")
if not isnumeric(age) then response.write "age must be number!<a href=javascript:history.go(-1)>try again</a>":response.end
age=clng(age)
end if
"********************************************************************
" 与SQL Server2000有关的连接
" 可以参照它建立您的数据库连接
"********************************************************************
"敬请注意:
"请根据情况配置StrServer,StrUid,StrSapwd,StrDbName四个参数
Dim StrServer,StrUid,StrSaPwd,StrDbName
StrServer="(local)" "数据库服务器名
StrUid="testuser" "您的登录帐号
StrSaPwd="12345" "您的登录密码
StrDbName="db_test_com" "您的数据库名称
Dim Conn "数据库连接
Dim StrDSN "数据库连接字符串
Dim Rs "命令字符串
StrDSN="driver={SQL server};server="&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database="&StrDbName
"建立和数据库master的连接
set Conn = Server.CreateObject("ADODB.Connection")
set Rs=Server.CreateObject("ADODB.RecordSet")
Conn.Open StrDSN
"********************************************************************
"********************************************************************

Dim strsql
"********************************************************************
" 读数据库的相关操作
sub readdb()
strsql="select * from test"
rs.open strsql,conn,1,1
if rs.EOF then response.write "no record at all":exit sub
response.write "<table border=1>"
response.write "<tr>"
for i=0 to rs.Fields.Count-1
response.write "<td><font color=blue>"&rs.Fields(i).Name&"</font></td>"
next
response.write "</tr>"
while not rs.EOF
response.write "<tr>"
for i=0 to rs.Fields.Count-1
response.write "<td>"&rs.Fields(i).Value&"</td>"
next
response.write "</tr>"
rs.MoveNext
wend
response.write "</table>"
rs.Close
end sub
"********************************************************************

"********************************************************************
" 写数据库的相关操作
sub insertdata()
strsql="INSERT INTO test(name,age,addr) VALUES(""&name&"","&age&",""&addr&"")"
rs.Open strsql,conn,1,3
end sub
"********************************************************************
if mode=1 then
call insertdata()
response.write "insert ok!"
elseif mode=2 then
call readdb()
end if
"释放数据库连接对象
set rs=nothing
set conn=nothing
%>
<HTML>
<HEAD>
<TITLE></TITLE>
<script language=javascript>
function clickit(flag){
var form1=document.form2
form1.text4.value=flag;
if (flag==1){
if (form1.text1.value==""){
alert("name cant empty!");
return false;
}
if (form1.text2.value==""){
alert("age cant empty!");
return false;
}
if (form1.text3.value==""){
alert("addr cant empty!");
return false;
}
}
form1.submit();
return true;
}
</script>
</HEAD>
<BODY>
<form method=post name=form2>
name:<INPUT type="text" id=text1 name=text1 size=12>
age:<INPUT type="text" id=text2 name=text2 size=12>
city:<INPUT type="text" id=text3 name=text3 size=12><br>
<INPUT type="hidden" id=text4 name=text4>
<INPUT type="button" value="write" id=button1 name=button1 onclick="clickit(1)">
<INPUT type="button" value="read" id=button2 name=button2 onclick="clickit(2)">
</form>
</BODY>
</HTML>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cosler
2010-12-03 · 超过17用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:54.2万
展开全部
asp连接数据库:
TxtIP=192.168.1.1'ip
TxtUID=sa'数据库用户
TxtPWD=1'数据库密码
TxtDB=db'数据库名
connstr = "driver={SQL Server};server="&TxtIP&";UID="&TxtUID&";PWD="&TxtPWD&";database="&TxtDB&";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open connstr'打开数据库连接字符串。不出错就是连接成功。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式