replica watches | rolex replica | replica rolex | replica watches | christian louboutin shoes | replica watches | fake watches | replica watches

网页技术-ASP访问数据库

来源: 游陆 (个人网站)   日期:2006-07-24  我要评论  胶粘剂 结构胶 硅胶 密封胶 中国胶粘剂网
网页技术-ASP访问数据库 配置 sql Server 数据库文件 DSN 注意如果数据库驻留在远程服务器上,请与服务器管理员联系,获取附加的配置信息;下面的过程使用 sql Server 的 ODBC 默认的设置,它可能不适用于您的硬件配置。在“创建新数据源”对话框中,从列表框中选择“


网页技术-ASP访问数据库
配置 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 正确创建,“测试结果”对话框将指出测试成功完成。

sql server 连接和安全信息

如果您正在开发用于连接远程 sql Server 数据库的 asp 数据库应用程序,应考虑以下问题:

连接方案- 您可以选择 TCP/IP 套接字和命名管道的方法访问远程的 sql Server 数据库。当使用命名管道时,因为在建立连接之前,数据库用户必须被 Windows NT 确认,所以对只有适当的 sql Server 访问身份而在该计算机上没有 Windows NT 用户帐号的用户可能会被拒绝访问命名管道。作为一种替代方案,使用 TCP/IP 套接字的连接可直接连接到数据库服务器,而不必通过使用命名管道的中间计算机。因为使用 TCP/IP 套接字连接可直接连接到数据库 server,所以通过 sql Server 的确认,用户就可以获得访问权,而不必通过 Windows NT 的确认。

注意在连接到远程数据库时使用 TCP/IP 套接字可提高性能。

安全性 - 如果您使用 sql Server 的 集成 或混合 安全特性,并且 sql Server 数据库位于远程服务器上,则不能使用 Windows NT 请求/响应的确认。也就是说,不能将 Windows NT 请求/响应身份证转发到远程计算机上,而只能使用基本身份验证,它根据用户提供用户名和口令信息进行。

有关这一主题的详细信息,请参阅 http://www.microsoft.com/sqlsupport/ 上的 Microsoft sql Server 技术支持主页。

配置 Oracle 数据库文件 DSN

首先要确保 Oracle 用户软件被正确地安装要创建 DSN 的计算机上。详细信息,请与服务器管理员联系或参阅数据库软件文档。在“创建新数据源”对话框中,从列表框中选择“Microsoft ODBC for Oracle”,然后单击“下一步”。键入 DSN 文件的名称,然后单击“下一步”。单击“完成”创建数据源。输入用户名、密码和服务器名,然后单击“确定”。注意 DSN 文件用 .dsn 扩展名,位于 \Programs\Common Files\ODBC\Data Sources 目录中。 有关创建 DSN 文件的详细信息,请访问 Microsoft ODBC web 站点:http://microsoft.com/odbc/

连接数据库

访问数据库信息的第一步是和数据库源建立连接。ADO 提供 Connection 对象,可以使用该对象建立和管理应用程序和 ODBC 数据库之间的连接。Connection 对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。

要建立数据库连接,首先应创建 Connection 对象的实例。例如,下面的脚本创建 Connection 对象,接着打开数据库连接:

<%

'Create a connection object

Set cn = Server.CreateObject("ADODB.Connection")

'Open a connection; the string refers to the DSN

cn.Open "FILEDSN=MyDatabase.dsn"

%>

注意无论在等号 (=) 之前还是之后,DSN 字符串都不能包含空格。

在这种情况下,Connection 对象的 Open 方法引用基于 DSN 的文件,其中包含关于数据库的位置和配置信息。也可以不引用 DSN,直接显式引用供应程序、数据源、用户 ID 和密码。有关建立连接的可选方法的详细信息,请参阅 Microsoft ActiveX Data Objects (ADO)。

用 Connection 对象执行查询

用 Connection 对象的 Execute 方法,您可以发出结构化查询语言 (SQL) 查询数据库源并检索结果。SQL 是用于与数据库通讯的工业标准语言,它有许多命令可用来检索和更新信息。

下面的脚本使用 Connection 对象的 Execute 方法在 sql INSERT 命令的表格中发出查询,该命令将数据插入特定的数据库表格。在下面的示例中,脚本将名称 Jose Lugo 插入名为 Customers 的数据库表中。

<%

'Define file based DSN

strDSN = "FILEDSN=MyDatabase.dsn"

'Instantiate the Connection object and open a database connection

Set cn = Server.CreateObject("ADODB.Connection")

cn.Open strDSN

'Define sql SELECT statement

strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES ('Jose','Lugo')"

'Use the Execute method to issue a sql query to database

cn.Execute(strSQL)

%>

注意 基于 DSN 路径字符串的文件在等号(=)前后不应包含空格。

除了 sql INSERT 命令以外,您也可以使用 sql UPDATE 和 DELETE 命令更改和删除数据库信息。

用 sql UPDATE 命令,您可以改变数据库表中各项目值。下面的脚本使用 UPDATE 命令将 Customers 表中每个 LastName 字段包含姓 Smith 记录的 FirstName 字段更改为 Jeff。

<%

Set cn = Server.CreateObject("ADODB.Connection")

cn.Open "FILEDSN=MyDatabase.dsn"

cn.Execute "UPDATE Customers SET FirstName = 'Jeff' WHERE LastName = 'Smith' "

%>

要想从数据库表中删除特定的记录,可使用 sql DELETE 命令。下面的脚本从 Customers 表中删除了所有姓 Smith 的行:

<%

Set cn = Server.CreateObject("ADODB.Connection")

cn.Open "FILEDSN=MyDatabase.dsn"

cn.Execute "DELETE FROM Customers WHERE LastName = 'Smith'"

%>

注意 在使用 sql DELETE 命令时,必须谨慎从事。当使用不带 WHERE 子句的 DELETE 命令时,它将删除表中的所有行。一定要包含 sql WHERE 子句来指定要删除的确切行。

使用 Recordset 对象处理结果

尽管 Connection 对象简化了连接数据库和查询任务,但 Connection 对象仍有许多不足。确切地说,检索和显示数据库信息的 Connection 对象不能用于创建脚本;您必须确切知道要对数据库作出的更改,然后才能使用查询实现更改。

对于检索数据、检查结果、更改数据库,ADO 提供了 Recordset 对象。正如它的名称所暗示的那样,Recordset 对象有许多您可以使用的特性,根据您的查询限制,检索并且显示一组数据库行,即记录。 Recordset 对象保持查询返回的记录的位置,允许您一次一项逐步扫描结果。

根据 Recordset 对象的指针类型属性设置,您可以滚动和更新记录。数据库指针可以让您在一组记录中定位到特定的项。指针还用于检索和检查记录,然后在这些记录的基础上执行操作。Recordset 对象有一些属性,可用于精确地控制指针的行为,提高您检查和更新结果的能力。例如,您可以使用 CursorType 和 CursorLocation 属性设置指针的类型,将结果返回给客户端应用程序(结果通常保留在数据库服务器上)并显示其他用户对数据库的最后一次更改。有关配置 Recordset 对象指针的信息,请参阅 Microsoft ActiveX Data Objects (ADO)。

检索记录

一个成功的数据库应用程序都使用 Connection 对象建立链接并使用 Recordset 对象处理返回的数据。通过“协调”两个对象的特定功能,您可以开发出几乎可以执行任何数据处理任务的数据库应用程序。例如,下面的服务器端脚本使用 Recordset 对象执行 sql SELECT 命令。SELECT 命令检索一组基于查询限制的信息。查询也包含 sql WHERE 子句,用来缩小查询的范围。此例中,WHERE 子句将查询限制为所有的 Customers 数据库表中包含的姓 Smith 的记录。

<%

'Establish a connection with data source

strDSN = "FILEDSN=MyDatabase.dsn"

Set cn = Server.CreateObject("ADODB.Connection")

cn.Open strDSN

'Instantiate a Recordset object

Set rsCustomers = Server.CreateObject("ADODB.Recordset")

'Open a recordset using the Open method

' and use the connection established by the Connection object

strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName = 'Smith' "

rsCustomers.Open strSQL, cn

'Cycle through record set and display the results

' and increment record position with MoveNext method

Set objFirstName = rsCustomers("FirstName")

Set objLastName = rsCustomers("LastName")

Do Until rsCustomers.EOF

Response.Write objFirstName & " " & objLastName & "<BR>"

rsCustomers.MoveNext

Loop

%>

注意,在前面的例子中,用来建立数据库连接的 Connection 对象和 Recordset 对象使用该连接从数据库中检索结果。当您需要精确地设置和数据库建立链接所采用的方式时,这个方法是非常有用的。例如,如果您需要在连接尝试失败之前指定等待的时间,则需要使用 Connection 对象去设置属性。但是,如果您仅仅想使用 ADO 默认的连接属性建立连接,则应该使用 Recordset 对象的 Open 方法去建立链接:

<%

strDSN = "FILEDSN=MyDatabase.dsn"

strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName = 'Smith' "

Set rsCustomers = Server.CreateObject("ADODB.Recordset")

'Open a connection using the Open method

'and use the connection established by the Connection object

rsCustomers.Open strSQL, strDSN

'Cycle through the record set, display the results,

' and increment record position with MoveNext method

Set objFirstName = rsCustomers("FirstName")

Set objLastName = rsCustomers("LastName")

Do Until rsCustomers.EOF

Response.Write objFirstName & " " & objLastName & "<BR>"

rsCustomers.MoveNext

Loop

%>

顶一下
(0)
0%
踩一下
(0)
0%
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码: