ASP通过ODBC连接SQL Server 2008数据库的方法
创建数据库连接文件【dsn文件】的方法
创建 odbc dsn 文件
在创建数据库脚本之前,必须提供一条使 ado 定位、标识和与数据库通讯的途径。数据库驱动程序使用 data source name (dsn) 定位和标识特定的 odbc 兼容数据库,将信息从 web 应用程序传递给数据库。典型情况下,dsn 包含数据库配置、用户安全性和定位信息,且可以获取 windows nt 注册表项中或文本文件的表格。
通过 odbc,您可以选择希望创建的 dsn 的类型:用户、系统或文件。用户和系统 dsn 存储在 windows nt 注册表中。系统 dsn 允许所有的用户登录到特定的服务器上去访问数据库,而用户 dsn 使用适当的安全身份证明限制数据库到特定用户的连接。文件 dsn 用于从文本文件中获取表格,提供了对多用户的访问,并且通过复制 dsn 文件,可以轻易地从一个服务器转移到另一个服务器。由于以上原因,本主题中的示例将使用文件 dsn。
通过在 windows 的“开始”菜单打开“控制面板”,您可以创建基于 dsn 的文件。双击“odbc”图标,然后选择“文件 dsn”属性页,单击“添加”,选择数据库驱动程序,然后单击“下一步”。按照后面的指示配置适用于您的数据库软件的 dsn。
配置 microsoft access 数据库的文件 dsn
- 在“创建新数据源”对话框中,从列表框选择“microsoft access driver”,然后单击“下一步”。
- 键入您的 dsn 文件名,然后单击“下一步”。
- 单击“完成”创建数据源。
- 在“odbc microsoft access 97 安装程序”对话框中,单击“选择”。选择 microsoft access 数据库文件 (*.mdb),然后单击“确定”。
注意 由于性能和可靠性的原因,我们极力推荐您使用“客户-服务器数据库引擎”配置由这样一种 web 应用程序驱动的数据,这些 web 应用程序必须满足 10 个以上的用户的同时访问。尽管 asp 可以使用任何 odbc 兼容的数据库,但它是为使用客户-服务器数据库而设计的,而且经过了严格的测试,这些数据库包括 microsoft ® sql server、oracle 等。
asp 支持共享文件数据库(如 microsoft ® access 或 microsoft ® foxpro)作为有效的数据源。尽管在 asp 文档中的一些示例使用共享文件数据库,但我们建议只将此类数据库引擎用于开发或有限的配置方案。共享文件数据库可能无法很好地适用于可满足高需求、高质量的 web 应用程序的客户-服务器数据库。
配置 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 请求/响应身份证转发到远程计算机上,而只能使用基本身份验证,它根据用户提供用户名和口令信息进行。
有关这一主题的详细信息,请参阅
上的 microsoft sql server 技术支持主页。
-
连接方案- 您可以选择 tcp/ip 套接字和命名管道的方法访问远程的 sql server 数据库。当使用命名管道时,因为在建立连接之前,数据库用户必须被 windows nt 确认,所以对只有适当的 sql server 访问身份而在该计算机上没有 windows nt 用户帐号的用户可能会被拒绝访问命名管道。作为一种替代方案,使用 tcp/ip 套接字的连接可直接连接到数据库服务器,而不必通过使用命名管道的中间计算机。因为使用 tcp/ip 套接字连接可直接连接到数据库 server,所以通过 sql server 的确认,用户就可以获得访问权,而不必通过 windows nt 的确认。
配置 oracle 数据库文件 dsn
首先要确保 oracle 用户软件被正确地安装要创建 dsn 的计算机上。详细信息,请与服务器管理员联系或参阅数据库软件文档。
- 在“创建新数据源”对话框中,从列表框中选择“microsoft odbc for oracle”,然后单击“下一步”。
- 键入 dsn 文件的名称,然后单击“下一步”。
- 单击“完成”创建数据源。
- 输入用户名、密码和服务器名,然后单击“确定”。
注意 dsn 文件用 .dsn 扩展名,位于 \programs\common files\odbc\data sources 目录中。
有关创建 dsn 文件的详细信息,请访问 microsoft odbc web 站点:。
====================================================
访问数据库信息的第一步是和数据库源建立连接。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 和密码。
连接过程
<% set cn = server.createobject("adodb.connection") '创建数据库连接对象 set rscustomers = server.createobject("adodb.recordset") '创建数据库查询对象 cn.open "filedsn=sqllink.dsn" '打开数据库 strsql = "select username,password from [mydatabase].[dbo].[user] where username='duguying'" rscustomers.open strsql, cn '运行sql语句 %>
处理数据库返回数据
set username1= rscustomers("username") '获取username字段的返回结果 set password1= rscustomers("password") '获取password字段的返回结果 do until rscustomers.eof response.write username1 & " " & password1 & "<br>" rscustomers.movenext loop '通过循环获取所有返回记录
上一篇: 无业游民刘某
推荐阅读
-
在ASP中连接MySQL数据库,最好的通过ODBC方法
-
C#实现异步连接Sql Server数据库的方法
-
php使用sql server验证连接数据库的方法
-
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
-
SQL Server 2008数据库设置定期自动备份的方法
-
SQL SERVER 2008 无法附加数据库的解决方法
-
使用SQL Server 2008远程链接时SQL数据库不成功的解决方法
-
SQL Server 2008 备份数据库、还原数据库的方法
-
go语言通过odbc访问Sql Server数据库的方法
-
jsp简单连接SQL Server2000数据库的方法