`
liyx985
  • 浏览: 214621 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

asp连接sql server数据库方式

 
阅读更多
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的数据库)。



、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
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'打开数据库连接字符串。不出错就是连接成功





/////////////////////////////////////////
ASP连接SQL Server 2005 1----------------------------------------------------------------------------------

由于SQL Server 2005及EXPRESS与原来2000版默认设置有所调整(默认sa禁用),要想正常连接需要做如下改动: powered by 25175.net

  1、开始->所有程序- >Microsoft SQL Server 2005->配置工具- >SQL Server Configuration Manager
  2、启用协议里的 TCP/IP
  3、右键选属性->IP地址选项卡,设置本地TCP端口为1433
  5、重启Sql Server服务
  6、开始->所有程序->Microsoft SQL Server 2005- >SQL Server Management Studio,用WINDOWS账户登录
  7、在“已注册的服务器”窗口内数据库引擎上右键选“更新本地服务器注册”
  8、在“对象资源管理器”窗口内“SQLEXPRESS”上右键选属性->安全性,服务器身份验证选“SQL Server 和 Windows 身份验证模式(S)”,然后确定。
  9、回到“对象资源管理器”->安全性->登录名->sa,右键单击sa选属性-> 状态,启用sa账户。

此时就可以正常访问了。

provider=sqloledb;Data Source=121.199.247.66,1433;Database=dsc130530_db;Uid=dsc130530;Pwd=

记得Data Source后面还要加上端口号......1433

-------------------------------------使用上面方法没有成功-------------------

2----------------------------------------------------------------------------------

asp连接2005大致步骤

1. 要开启windows和sql用户混合认证模式。(安装SQL的时候可以设置,也可以安装完再设置,具体方法我就不说了)

2. 打开“SQL Server 外围应用配置器”---->点击“服务和连接的外围应用配置器”--->点击“SQLEXPRESS”
--->点击“DataBase Engine”--->点击“远程连接”--->选中“本地连接和远程连接”--->选中“同时使用TCP/IP和named pipes”,确定之后要重新启动服务

3. 连接代码如下

Set conn = CreateObject("ADODB.Connection")

strConn = "Provider=SQLNCLI;Server=127.0.0.1\SQLEXPRESS;Database=database_name;Uid=username;Pwd=password;"

'或者用strConn="Provider=SQLNCLI;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=database_name;User Id=username;Password=password; "

conn.Open strConn
response.Write(conn.state) '显示连接状态,若为1表示连接成功,若为0连接失败。

注意:SQLEXPRESS表示你安装SQL2005实例名,这个要修改为您自己的SQL实例名。
SQLEXPRESS有点类似SQL2000中的(LOCAL)。

-----------------------------------------使用上面的方法没有成功-----------------------------------------

3----------------------------------------------------------------------------------

Set conn = CreateObject("ADODB.Connection")
strConn="provider=SQLOLEDB.1;Data Source=127.0.0.1;uID=tx;Password=222222;inital Catalog=system" '可连接

conn.Open strConn

此方法连接成功,不过不知道上面的两种操作有没有起作用

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

说明:
a、以下字符中数据库名forum,数据库服务器名WWW-2443D34E558\SQL2005(或者127.0.0.1)
b、查看sql数据库服务器名称:对象资源管理器->数据库->右键点击自己建的数据库->属性->权限
c、Provider=sqlncli也可以,UID与“=”之间不可以有空格,如果换用user id就可以有
空格,Initial Catalog可以换用database,pwd可以换用password,data source可以换用server,
在VBScript中,不区分大小写,因此UID等同uid等同Uid。。。,其中provider、uid、pwd、
Initial Catalog、data source等位置可以自由放
(1)、windows身份验证连接SQL2005字符串,使用Integrated Security=SSPI方法

代码如下:
'以下为建立connection对象连接数据库
Dim conn
Set conn=Server.CreateObject("ADODB.Connection")
sql="Provider=SQLoledb;data source=WWW-2443D34E558\SQL2005;UID=;PWD=;Initial Catalog=forum;Integrated Security=SSPI"
conn.Open sql
'以下为判断是否连接
If conn.state=2 Then
Response.Write("正在连接")
ElseIf conn.state=1 Then
Response.Write("连接已经打开")
Else
Response.Write("对不起,无法打开连接")
End If

(2)、SQL SERVER用户名身份验证连接方法,此例中SQL用户名为sa ,密码********

代码如下:
'以下为建立connection对象连接数据库
Dim conn
Set conn=Server.CreateObject("ADODB.Connection")
sql="Provider=SQLoledb;data source=WWW-2443D34E558\SQL2005;UID=sa;PWD=********;Initial Catalog=forum"
conn.Open sql
'以下为判断是否连接
If conn.state=2 Then
Response.Write("正在连接")
ElseIf conn.state=1 Then
Response.Write("连接已经打开")
Else
Response.Write("对不起,无法打开连接")
End If

(3)、以上两种方法也可以用以下方式

代码如下:

Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,ConnStr,Conn
SqlDatabaseName = "forum" 'SQL数据库名
SqlUsername = "sa" 'SQL数据库用户名
SqlPassword = "**********" 'SQL数据库用户密码
SqlLocalName = "WWW-2443D34E558\SQL2005" 'SQL主机IP地址(服务器名)
ConnStr = " Password = "&SqlPassword&"; user id =" & SqlUsername&"; Initial Catalog ="&SqlDatabaseName&"; data source ="& SqlLocalName &";Provider = sqloledb;"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If conn.state=2 Then
Response.Write("正在连接")
ElseIf conn.state=1 Then
Response.Write("连接已经打开")
Else
Response.Write("对不起,无法打开连接")
End If

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

在 SQL Server 2005 里面,如果出现
到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
sqlserver2005默认情况下是禁用了tcp/ip连接。启动tcp/ip连接的方法,
打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,
然后右边窗口有个tcp/ip协议,然后启动它,把sqlserver服务停了,然后在启动。问题就解决了


「开始」菜单\程序\Microsoft   SQL   Server   2005\配置工具\sqlserver外围应用配置器

点   服务和连接的外围应用配置器

选择database   Engine的远程连接,

选择“同时使用tcp/ip   和   name   pipes”
////////////////////
<%
Set conn = CreateObject("ADODB.Connection")
Dim strConn
strConn = "provider=sqloledb;Data Source=127.0.0.1,1433;Database=xsc;Uid=sa;Pwd=xsc;"
conn.Open strConn
response.Write(conn.state) 
%>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics