16-1 SQL Server与 Web 交互 数 据
16-2 HTML和 XML基 础
16-3 通 过 Web向 导发 布 数 据
16-4 ODBC数 据源
16-5 本章小 结
SQL Server 2000提供了用于将系统中用户数据输入到 HTML文件并发布至网上的 Web Assistant( Web助手),利用这一工具用户可定期对发布的 Web 页数据进行更新等。本章主要介绍 HTML基础、通过 Web向导发布 Web数据和 ODBC数据源 。
第 16章 SQL Server数 据的 网页发 布第 16章 SQL Server数 据的 网页发 布
SQL Server 2000提供了用于 将 系 统 中用 户数 据 输 入到 HTML文件 并发 布至 网上的 Web Assistant( Web助手),利用 这 一工具用 户 可定期 对发 布的 Web 页数 据 进行更新等。本章主要介 绍 HTML基 础,通 过 Web向 导发 布 Web数 据和 ODBC数 据源。
16-1 SQL Server与 Web 交互 数 据
SQL Server 2000 提供了完 备 的 Web( Internet 服 务 )功能,通 过 支持具有多 层 体系 结构 的客 户 /服 务 器模式或 浏览 器 /服 务 器模式 为 Web 应 用提供高可 扩 展性和高可靠性。 用 户既 可 将 信息存 储 在 Web 页 面上或 XML 文 档内,也可 将数 据存 储 在 数据 库 中。
SQL Server 2000在支持 网络 及 数 据接口 处 理上涵盖如下特性:
SQL Server 2000 支持完全集成的、基于 标 准的 XML功能,可提供 灵 活、高效、
易于使用的工具 来处 理 数 据 库 中的 XML 元素,也可使 开发 人 员 无 须编写 代 码 直接 从数 据 库 中取出基于 XML 的 数 据。
SQL Server 2000 允 许 用 户 通 过 HTTP 协议,在 Web 上 进 行高性能的、基于标 准的安全 访问,Web 的客 户 端 拥 有 访问关 系型 数 据存 储 和 访问 分析服 务 的完全能力。
SQL Server 2000 增强了 OLE DB 性能,可 将 XML 文 档设 置 为 命令文本 并 以流的形式返回 结 果集。
使用 ODBC 数 据源管理器可配置 SQL Server ODBC 数 据源,使用 ODBC 数 据源管理器可以添加、更改和 删 除 SQL Server ODBC 驱动 程序的 数 据源 并显 示系 统 上当 前安装的 SQL Server ODBC 驱动 程序的版本信息。
注:可使用 Web 助手向 导 由 SQL Server 2000 数 据生成 标 准的 HTML 文件。
通常,基于 Web交互式 网页发 布 数 据主要有 两种 模式:推模式 与 拉模式。
图 16-1 推模式的数据发布
Internet服务器 Web浏览器数据库服务器数据库服务器更新
Web页的数据内容 浏览器查阅数据在万维网发展初期,Internet上发布数据主要采用推模式(如图 16-1所示),该模式用户只能被动地接收 Web页上发布的静态数据,无法与数据库交互获得自己所需的数据。但随着互联网技术的进一步发展,拉模式(如图 16-2所示)逐渐成为 WWW运作的主流,在此种方式下,图 16-2 拉模式的数据发布用户向 Internet服务器提出服务请求,
Internet服务器再与数据库服务器进行通信,在数据库服务器中查询用户请求的数据,
并将获取的数据生成为 Web网页发送给用户。使用拉模式,用户可以间接地实现与数据库服务器的交互,从而能根据自己的所需获得动态数据。
注:若要实现拉模式数据传送,需要在 Internet服务器上运行能够访问 ODBC数据库的应用程序,如,CGI( Comman Gateway Interface:公共网关接口 ),ASP( Active
Server Pages,动态服务器网页 ) 和 JSP( Java Server Pages,Java服务器网页 ) 等 。
Web浏览器图 16-2 拉模式的数据发布数据库服务器返回服务请求的数据浏览器发送服务请求
Internet服务器数据库服务器向数据库服务器提出服务请求浏览器接收数据
16-2-1 HTML基 础
1,HTML
定义,HTML( HyperText Market Language:超文本置 标语 言)是用 来 描述
WWW上超文本信息文件的 语 言,用于表征超媒体 结构 的一 个 命令集。 是目前
Internet广泛使用的多媒体的 语 言之一,用 HTML语 言 编写 的文 档称为 HTML文 档 。
所有 HTML文件均利用一般的字符格式(例如 ASCII码 ) 来设计,描述多媒体超文本信息,用 HTML语 言可表示超 链 接,用 HTML编写 的文 档经过测览 器的解 释 和 执 行,
就成 为 在 网 上所看到的 网页 。可利用万 维网 上的 浏览 器直接 观赏 其多媒体 HTML信息作品。
2,HTML特性
HTML具有如下特性:
文档结构定义,格式列表,表和表单 。
文字格式定义 。
图形与文字的编排方式,超文本,超媒体链接 ( 包括 EMAIL) 。
3,HTML语 法
HTML语 法主要包括 HTML标记,HTML注 释与 HTML文 档结构 三部分。
(1) 标记
HTML在文本文 档 中添加一定的 标记 符 号,指出 标记 的文本取用什 么 格式(或 类型),HTML文 档 由很多元素 组 成,每 个 元素由,标记,和 标记 所 说 明的 内 容 组 成。
HTM L中的 标记 符 号 是用 <>括 号 括起 来 的 关键 字 来 表示的。
16-2 HTML和 XML基 础
( 2)注释在 HTML文档中可以加入注释,测览器对注释内容不予执行。其格式是:
单行注释,<!注释内容 >
多行注释,<!--注释内容 >
……
-->
( 3) HTML文档结构
HTML文 档 以< HTML> 开头,< /HTML >结 束,中 间 的 内 容就是 网页 的 内 容。
网页内 容可以分 为网页头 部和 网页 体 两 部分,当 然其中又可再度 细 化 为 若干部分。
HTML文 档 的一般 结构 是:
<html>
<head>
<title>计 算机世界 </title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
……
<!--
……
//-->
</head>
<body>
……
</body>
</html>
HTML文件 标记 部分常用 说 明如表 16-1。
16-2-2 XML基 础定义,XML( Extensible Markup Language)是扩展标识语言的英文缩写。 XML 语言是
Web 的主导技术。它简单灵活,是一种基于 SGML的语言,提供比 HTML更为便捷、完善的方法来描述文档内容,同时通过一种与平台和操作系统无关,能够在所有计算机上运行的方法,提供了描述元数据的机制,XML 不仅是一种技术而是指一个技术组。
XML包括以下成员:
可扩展样式语言( eXtensible Style Language,XSL)。 XSL 与 XML 协同工作的方式和 CSS 与 HTML 协作的方式相类似,XSL 是实现 XML 样式的语言,由它来定义一组规则以决定如何显示 XML文档的内容,以及显示哪些内容从而将 XML 语义转换为显示格式,正如人们在 Web 浏览器中所见到的显示式样一样。
XML链接语言( XML Linking Language),包括 XPath(进行部分而不是全部 XML文档寻址,用于 XML 层次结构、树型结构的搜索),XLink(主要用于定义多个对象部分数据对象或之间的关系,要利用 XML文档的句法来创建结构,从而描述目前的
HTML 的单向超链接以及更为复杂的多端或多类型链接) 和 Xpointer(建立于 XPath 基础上用以支持 XML 内部结构中的寻址)三部分。
XML 名称空间( XML Namespace),是一组相关索引确定名字,在 XML 文档中用作元素类型和属性名,可为使用不同名字的 XML 文档内部结构块提供相互交流的环境。
XML 模式( Schema)。 XML 模式主要用来控制 XML 文档结构和内容的相互关系。
XML 能够实现 Web 上和企业内的许多应用,可轻易地与任何标准的交换语言交换数据。 该类应用主要表现在以下诸多方面:
事件驱动的数据库交互和应用程序间的通信。
定制出版、后处理和电子文档交换。
与媒体无关的全球出版和组件 / 媒体管理。
使用元素名和元数据的精确数据检索。
Web 助手向 导 是 SQL Server 提供的 网页发 布向 导,通 过它 可以很方便地生成 数 据 库网页,也可以 调 度一 个 自 动 更新 Web 页 的任 务 ; 发 布和分 发 管理 报表 与 服 务 器 报 表,用 扩 展存 储过 程 发 布 SQL Server 之外的信息等。
使用 Web 助手向 导发 布 数 据的方法 与 步 骤 如下:
( 1) 启动 企 业 管理器,点 击 【 工具 】 菜 单 下的 【 向 导 】,然后 从 【 选择 向 导 】
对话 框的 【 管理 】 节 点下 选择 【 Web助手向 导 】 并 点 击 【 确定 】 按 钮,弹 出如 图
16-3 所示的 【 欢 迎使用 Web助手向 导 】 对话 框。
( 2)在 【 欢迎使用 Web助手向导 】 对话框中,单击 【 下一步 】 按钮,弹出 【 选择数据库 】 对话框。在该对话框中单击 【 下一步 】 按钮,弹出 【 启动新的 Web助手作业 】 对话框,再在此对话框中单击 【 下一步 】 按钮,弹出 【 选择表和列 】 对话框。
( 3)在 【 选择表和列 】 对话框中的 【 可用表 】 的列表框中点击选择某个具体表,
然后选择相关列(或全部)并单击 【 添加 】 或 【 全部添加 】 按钮,完成表和列的选择,单击 【 下 一步 】 按钮,弹出 【 选择行 】 对话框。在该对话框中可以对行的筛选条件:既可以选择只符合一定条件的行,也可以全选(系统默认项)。单击 【 下一步 】 按钮,系统弹出 【 调度 Web助手作业 】 对话框。
( 4)在 【 调度 Web助手作业 】 对话框中,可以选择指定更新数据和生成 Web页频率。在此选择 【 按预先安排的定期间隔 】 更新数据。单击 【 下一步 】 按钮,弹出 【 调度更新间隔 】 对话框。
( 5)在 【 调度更新间隔 】 对话框中可以设置数据更新的具体时间(周、日、小时和分钟)。单击 【 下一步 】 按钮,弹出 【 发布 Web页 】 对话框,在此可以确定文件名和具体路径。单击 【 下一步 】 按钮,弹出 【 设置 Web页数据格式 】 对话框
16-3 通 过 Web向 导发 布 数 据
( 6)在 【 设置 Web页数据格式 】 对话框中,可以选择任何如何完成 Web页数据格式与布局的设置。既可选用模板方式,也可取用向导帮助为之,本例选择后者。单击 【 下一步 】 按钮,弹出 【 指定标题 】 对话框。
在此对话框中可设置标题及其字号大小,单击 【 下一步 】 按钮,弹出如图
16-13 所示的 【 设置表的格式 】 对话框。用于设置表中列和边框的格式及字体特征。逐次单击 【 下一步 】 按钮,分别会出现如图 16-14(向 Web页添加超级链接)和(限制行)所示的对话框,分别用于添加超级链接和限制一页所显示的行数等。
( 7)在对话框中,单击 【 下一步 】 按钮,系统会弹出最后一个对话框:
【 Web助手向导完成对话框 】 对话框,如图 16-16 所示,单击 【 完成 】 按钮,即可完成本次 Web页的设计。
完成本次 Web页设计后,可以使用浏览器观察浏览。其所完成的实际上是一个定期更新 Web页数据的过程(或作业)。
实际上 SQL Server 2000还提供了系统存储过程 sp_makewebtask来创建 Web
页的工作,进行数据查询并将其作为网页发布,其才是 Web助手向导的幕后工作者,可完成 Web助手向导的所有工作。使用系统存储过程
sp_makewebtask创建 Web页的语法如下:使用 sp_runwebtask可以执行指定的更新 Web页的任务,基于篇幅,在此就不作滞留了,可以参阅 SQL
Server 2000的联机帮助等。
16-4-1 ODBC概 述开 放 数 据 库 系 统 互 连 ( ODBC,Open DataBase Connectivity) 是微弱公司 开发的一套 开 放 数 据 库 系 统应 用程序接口 规 范,可 为应 用程序提供一系列 调 用 层 接口
( CLI:call-level interface)函 数 和基于 动态连 接 库 的 运 行支持 环 境,CLI 是一 个 应 用程序接口( API),包含由 应 用程序 调 用以 获 得一系列服 务 的函 数 。 该 接口使 C 和 C++
等 应 用程序得以 访问来 自 ODBC 数 据源的 数 据。
ODBC 驱动 程序是一 个动态链 接 库 (DLL),ODBC驱动 程序 屏 蔽了不同 数 据 库间的差 异,它 接受 对 ODBC API 函 数 的 调 用 并 采取任何必要的操作 来处 理 对数 据源的 请 求。
ODBC 已被 数 据 库 程序 员 广泛接受,一些 数 据 库 供 应 商提供 ODBC 驱动 程序。
Microsoft公司的其 它 几 个数 据 访问 API 在 ODBC 上被定 义为简 化的 对 象模型,如:
ActiveX 数 据 对 象( ADO),数 据 访问对 象( DAO),远 程 数 据 对 象( RDO)和
Microsoft 基 础类 ( MFC) 数 据 库类 。
SQL Server 2000 包含本机 SQL Server ODBC 驱动 程序,可由 ODBC 应 用程序用于 访问 SQL Server 中的 数 据。在 SQL Server 2000 中,除 isql 外的所有其 它
SQL Server 实 用工具都使用 ODBC API 和 SQL Server ODBC 驱动 程序。
如果工具,实 用程序或系 统级开发 需要最佳性能,或需要 对 SQL Server 功能的 访问 能力,且 它们 不是 COM 应 用程序,则 可以在其中使用 ODBC。 与 OLE DB,ADO等一 样,
ODBC 也使得 个别 的 驱动 程序可以定 义驱动 程序特有的机制,以支持 驱动 程序所 访问 的数 据引擎的附加功能。
这 些功能包括:
一 组 基于以前的 DB-Library 大容量 复 制函 数 的大容量 复 制函 数 。
对 ODBC 诊断 和 记录 功能的 扩 展,以便 从 相 关 信息中 获 得 SQL Server 特有信息。
一 组 表 现 目 录 信息( 来 自在 SQL Server 分布式 查询 中使用的 链 接服 务 器)的函数 。
驱动 程序的各 种 特性和 连 接字符串 关键 字,用于控制 SQL Server特有的行 为 。
16-4 ODBC数 据源
ODBC结构层 次
1。 ODBC结构层 次由 ODBC应用程序,驱动 程序管理器,数据 库驱动 程序,数 据源四 个层次 组 成(如 图 16-18所示)。
2,ODBC客 户 端 应 用
ODBC客 户 端 应 用程序是由 数据 库开发 人 员编写 的,调 用
ODBC API,并 予以提交 将 在数 据 库 服 务 器上 运 行的 SQL语句,ODBC应 用程序完成的主要任 务 包括:
( 1) 连 接 数 据源 与 向 数 据 库发 送 SQL语 句。
( 2)为 SQL语 句的 执 行 结 果分配存 储 空 间,并 定 义 其 读 取的 数 据格式。
(3) 读 取 SQL语 句的 执 行 结 果与处 理 错误 。
(4) 若需要提交 处 理 结 果 请求事 务 的提交和回 滚 操作 。
(5) 断开与数 据源的 连 接 。
16-4-2 ODBC结构层 次图 16-18 ODBC体系结构可通 过 使用 ODBC 管理器,编 程方式(使用 SQLConfigDataSource)或 创 建文件的方法添加 ODBC数 据源。
1,ODBC 管理器使用 ODBC 管理器添加 SQL Server ODBC 数 据源的具体步 骤 如下:
( 1)点 击 【 开 始 】 下 【 设 置 】 中 【 控制面板 】 的 【 数 据源 ODBC】 命令 项,打 开 ODBC
数 据源管理器,如 图 16-19 所示。在 ODBC 数 据源管理器中 单击 【 用 户 DSN】 选项 卡,
然后 单击 【 添加 】 按 钮,弹 出如 图 16-20 所示的 【 创 建新 数 据源 】 对话 框。
( 2)在 【 创 建新 数 据源 】 对话 框的列表框中,选择 SQL Server,然后 单击 【 完成 】 按 钮,
弹 出如 图 16-21 所示的 【 建立新的 数 据源到 SQL Server】 对话 框。在名 称 框,说 明框和服 务 器框中分 别输 入如 图 16-21 所示的相 关数 据,单击 【 下一步 】 按 钮,弹 出如 图 16-
22 所示的 【 建立新的 数 据源到 SQL Server_验证 登 录 】 对话 框。 图 16-22 建立新的 数据源到 SQL Server_验证 登 录
( 3)在 【 建立新的 数 据源到 SQL Server_验证 登 录 】 对话 框中,可指定 认证 方法,并设置 Microsoft SQL Server 高 级 客 户项 以及登 录 名和密 码 。在此,选择 【 使用用 户输 入的登 录 ID 和密 码 的 SQL Server 验证 】 选项 按 钮,表示 SQL Server ODBC 驱动 程序不要求到 SQL Server 的安全(或信任) 连 接。 选 定之后,SQL Server 使用 标 准登 录 安全机制 来 建立使用此 数 据源的 连 接。必 须为 所有 连 接 请 求指定 SQL Server 登 录 ID 和密 码 。
若 单击 【 客 户 端配置 】 按 钮,可 启动 SQL Server 客 户 端配置的 【 添加新 网络库 配置 】
对话 框。 单击 【 连 接 SQL Server 以 获 得附加配置 选项 的默 认设 置 】 复选 框,单击 【 下一步 】 按 钮,弹 出如 图 16-23 所示的 【 建立新的 数 据源到 SQL Server_更改默 认数 据 库 】
对话 框。
16-4-3 添加 SQL Server ODBC数 据源
( 4)在 【 建立新的 数 据源到 SQL Server_更改默 认数 据 库 】 对话 框中,可 设 定默 认数 据 库,附加 数 据 库 等信息。 该对话 框中 【 更改默 认 的 数 据 库为 】 是 为 使用 该数 据源的任意 连 接指定默 认数 据 库 的名字。 当清 除 时,连 接使用 为 服 务 器上的登 录 ID 定义 的默 认数 据 库 。 选 定之后,框中命名的 数 据 库将 取代 为 登 录 ID 定 义 的默 认数 据 库 。
如果 【 附加 数 据 库 文件名 】 框有一 个 主文件的名字,则 由主文件 说 明的 数 据 库 使用
“更改默 认数 据 库为 】 框中指定的 数 据 库 名作 为 一 个数 据 库 被附加。使用登 录 ID 的默 认数 据 库,比在 ODBC 数 据源上指定默 认数 据 库 更有效。
附加 数 据 库 文件名 为 可附加的 数 据 库 指定主文件名。 这个数 据 库 被附加 并 用作 数 据源的默 认数 据 库,指定主文件的完全路 径 名和文件名。在,更改默 认 的 数 据 库为,框中指定的 数 据 库 名字,用作附加 数 据 库 的名字。
( 5)在 【 建立新的 数 据源到 SQL Server_语 言字符 设 置 】 对话 框中,选择 【 将长时间运 行的 查询 保存到日志文件 】 和 【 将 ODBC 驱动 程序 统计记录 到日志文件 】
复选 框。
( 6) 单击 【 确定 】 按 钮,回到如 图 16-25 所示的 【 ODBC Microsoft SQL
Server 安装 】 对话 框,再 单击 【 确定 】 按 钮,完成 ODBC SQL Server数 据源的安装。
注,ODBC SQL Server数 据源安装成功后,在 ODBC数 据源管理器中 会 出 现 新添加的 ODBC数 据源信息,如 图 16-27所示。
2,编 程方式添加 数 据源编 程方式添加 数 据源主要通 过调 用 SQLConfigDataSource,调 用 时将
fOption 设 置 为 ODBC_ADD_DSN 或 ODBC_ADD_SYS_DSN。
添加文件 数 据源 则调 用 SQLDriverConnect,调 用 时连 接字符串中 带参数
SAVEFILE=file_name。如果 该连 接成功,ODBC 驱动 程序 将 在 SAVEFILE 参数 所指向的位置 创 建 带连 接 参数 的文件 数 据源。
【 例 16-1】 使用 SQLConfigDataSource 创建数据源 。
#include <stdio.h>
#include <windows.h>
#include "sql.h"
#include <odbcinst.h>
int main()
{
RETCODE retcode;
UCHAR *szDriver = "SQL Server";
UCHAR *szAttributes =
"DSN=MyDSN\0DESCRIPTION=SQLConfigDSN Sample\0"
"SERVER=MySQL\0ADDRESS=MyServer\0NETWORK=dbmss
ocn\0"
"DATABASE=pubs\0";
retcode = SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
szDriver,
szAttributes);
}
【 例 16-2】 使用 SAVEFILE创建文件数据源。
在 SQLDriverConnect 中使用 SAVEFILE 关键字创建文件数据源,然后使用
SQLDriverConnect 与该文件数据源进行连接。这是删除错误处理后的简化示例。
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <odbcss.h>
#define MAXBUFLEN 255
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
int main() {
RETCODE retcode;
// This format of the SAVEFILE keyword saves a successful
// connection as the file Myfiledsn.dsn in the ODBC default
// directory for file DSNs.
SQLCHAR szConnStrIn[MAXBUFLEN] =
"SAVEFILE=MyFileDSN;DRIVER={SQL
Server};SERVER=MySQL;"
"NETWORK=dbmssocn;UID=sa;PWD=MyPassWord;";
SQLCHAR szConnStrOut[MAXBUFLEN];
SQLSMALLINT cbConnStrOut = 0;
// Allocate the ODBC Environment and save handle.
retcode = SQLAllocHandle (SQL_HANDLE_ENV,NULL,&henv);
//Notify ODBC that this is an ODBC 3.0 application.
retcode = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,
(SQLPOINTER) SQL_OV_ODBC3,SQL_IS_INTEGER);
// Allocate an ODBC connection handle and connect.
retcode = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc1);
retcode = SQLDriverConnect(hdbc1,// Connection handle
NULL,// Window handle
szConnStrIn,// Input connect string
SQL_NTS,// Null-terminated string
szConnStrOut,// Addr of output buffer
MAXBUFLEN,// Size of output buffer
&cbConnStrOut,// Address of output length
SQL_DRIVER_NOPROMPT);
// Disconnect,set up a new connect string,and then test file DSN.
SQLDisconnect(hdbc1);
strcpy(szConnStrIn,
"FILEDSN=MyFileDSN;UID=sa;PWD=MyPassWord;");
retcode = SQLDriverConnect(hdbc1,// Connection handle
NULL,// Window handle
szConnStrIn,// Input connect string
SQL_NTS,// Null-terminated string
szConnStrOut,// Addr of output buffer
MAXBUFLEN,// Size of output buffer
&cbConnStrOut,// Address of output length
SQL_DRIVER_NOPROMPT);
/* Clean up,*/
SQLDisconnect(hdbc1);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc1);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
return(0);
}
:
注意:
在使用上述方法添加SQ
L S
er
ver
O
DB
C
数据源的基础上
,
用户可以在C
、C
++
和V
isu
al
Ba
sic
编写的程序中直接调用SQ
L
Se
rve
r O
DB
C
数据源
,
达到完成C
、C+
+
和V
isu
al
Ba
sic
程序访问SQ
L S
er
ve
r
20
00
系统的数据
。
使用 ODBC 管理器可配置 ODBC数 据源操,同 样 也可 删 除 ODBC数 据源,且操作 较为简单 。使用 ODBC 管理器 删 除 ODBC数 据源的步 骤 如下:
( 1)点 击 【 开 始 】 下 【 设 置 】 中 【 控制面板 】 的 【 数 据源 ODBC】 命令 项,打 开
ODBC 数 据源管理器,如 图 16-19 所示。
( 2)在 ODBC 数 据源管理器中 单击 【 用 户 DSN】 选项 卡,选 中欲 删 除的用 户 ODBC
数 据源(如在 图 16-27中 选 中 【 YU_信息管理 】 ),然后 单击 【 删 除 】 按 钮并 确 认单击 【 是 】 按 钮,即可 删 除 【 YU_信息管理 】 用 户数 据。
注:若使用 编 程方式 删 除用 户 或系 统数 据源,可 调 用 SQLConfigDataSource,调 用时将 fOption 参数设 置 为 ODBC_REMOVE_DSN 或 ODBC_REMOVE_SYS_DSN。
【 例 16-3】,使用 SQLConfigDataSource 删 除 数 据源,并 通 过删 除 错误检查对 其 进行了 简 化。
#include <stdio.h>
#include <windows.h>
#include "sql.h"
#include <odbcinst.h>
int main() {
RETCODE retcode;
UCHAR *szDriver = "SQL Server";
UCHAR *szAttributes = "DSN=MyFileDSN";
16-4-3 删 除 ODBC数 据源
retcode = SQLConfigDataSource(NULL,
ODBC_REMOVE_DSN,
szDriver,
szAttributes);
}
16-5本章小 结
SQL Server 2000 提供了完 备 的 Web( Internet 服 务 )功能,通 过 支持具有多 层体系 结构 的客 户 /服 务 器模式或 浏览 器 /服 务 器模式 为 Web 应 用提供高可 扩 展性和高可靠性。基于 Web交互式 网页发 布 数 据主要有 两种 模式:推模式 与 拉模式。
HTML是用 来 描述 WWW上超文本信息文件的 语 言,用于表征超媒体 结构 的一 个 命令集,是目前 Internet广泛使用的多媒体的 语 言之一。 XML 语 言是 Web 的主 导 技术 。通 过 一 种与 平台和操作系 统 无 关,提供比 HTML更 为 便捷、完善的方法 来 描述文 档内 容。
Web 助手向 导 是 SQL Server 提供的 网页发 布向 导,通 过它 可以很方便地生成 数 据库网页,也可以 调 度一 个 自 动 更新 Web 页 的任 务 ; 发 布和分 发 管理 报 表 与 服 务 器 报表,用 扩 展存 储过 程 发 布 SQL Server 之外的信息等。
ODBC是一套 开 放 数 据 库 系 统应 用程序接口 规 范,可提供一系列 调 用 层 接口函 数 和基于 动态连 接 库 的 运 行支持 环 境,它 是一 个应 用程序接口,包含由 应 用程序 调 用以获 得一系列服 务 的函 数 。 ODBC结构层 次由 ODBC应 用程序,驱动 程序管理器,数据 库驱动 程序,数 据源四 个层 次 组 成。可使用 ODBC 管理器,编 程方式或 创 建文件的方法添加 ODBC数 据源。
1,简 述 SQL Server 2000的 网络 及 数 据接口 处 理特性。
2,简 述 Web交互式 网页发 布 数 据的模式及特征。
3,何 谓 HTML? 简 述 HTML具有的特性。
4,试问 HTML语 法主要包括 哪 几部分?
5,何 谓 XML? 试问 XML包括 哪 些成 员?
6,简 述使用 Web 助手向 导发 布 数 据的步 骤 。
7,何 谓 ODBC? 简 述 ODBC的 结构层 次和完成的主要任 务 。
8,简 述 创 建 ODBC数 据源的方法。
习题十六
16-2 HTML和 XML基 础
16-3 通 过 Web向 导发 布 数 据
16-4 ODBC数 据源
16-5 本章小 结
SQL Server 2000提供了用于将系统中用户数据输入到 HTML文件并发布至网上的 Web Assistant( Web助手),利用这一工具用户可定期对发布的 Web 页数据进行更新等。本章主要介绍 HTML基础、通过 Web向导发布 Web数据和 ODBC数据源 。
第 16章 SQL Server数 据的 网页发 布第 16章 SQL Server数 据的 网页发 布
SQL Server 2000提供了用于 将 系 统 中用 户数 据 输 入到 HTML文件 并发 布至 网上的 Web Assistant( Web助手),利用 这 一工具用 户 可定期 对发 布的 Web 页数 据 进行更新等。本章主要介 绍 HTML基 础,通 过 Web向 导发 布 Web数 据和 ODBC数 据源。
16-1 SQL Server与 Web 交互 数 据
SQL Server 2000 提供了完 备 的 Web( Internet 服 务 )功能,通 过 支持具有多 层 体系 结构 的客 户 /服 务 器模式或 浏览 器 /服 务 器模式 为 Web 应 用提供高可 扩 展性和高可靠性。 用 户既 可 将 信息存 储 在 Web 页 面上或 XML 文 档内,也可 将数 据存 储 在 数据 库 中。
SQL Server 2000在支持 网络 及 数 据接口 处 理上涵盖如下特性:
SQL Server 2000 支持完全集成的、基于 标 准的 XML功能,可提供 灵 活、高效、
易于使用的工具 来处 理 数 据 库 中的 XML 元素,也可使 开发 人 员 无 须编写 代 码 直接 从数 据 库 中取出基于 XML 的 数 据。
SQL Server 2000 允 许 用 户 通 过 HTTP 协议,在 Web 上 进 行高性能的、基于标 准的安全 访问,Web 的客 户 端 拥 有 访问关 系型 数 据存 储 和 访问 分析服 务 的完全能力。
SQL Server 2000 增强了 OLE DB 性能,可 将 XML 文 档设 置 为 命令文本 并 以流的形式返回 结 果集。
使用 ODBC 数 据源管理器可配置 SQL Server ODBC 数 据源,使用 ODBC 数 据源管理器可以添加、更改和 删 除 SQL Server ODBC 驱动 程序的 数 据源 并显 示系 统 上当 前安装的 SQL Server ODBC 驱动 程序的版本信息。
注:可使用 Web 助手向 导 由 SQL Server 2000 数 据生成 标 准的 HTML 文件。
通常,基于 Web交互式 网页发 布 数 据主要有 两种 模式:推模式 与 拉模式。
图 16-1 推模式的数据发布
Internet服务器 Web浏览器数据库服务器数据库服务器更新
Web页的数据内容 浏览器查阅数据在万维网发展初期,Internet上发布数据主要采用推模式(如图 16-1所示),该模式用户只能被动地接收 Web页上发布的静态数据,无法与数据库交互获得自己所需的数据。但随着互联网技术的进一步发展,拉模式(如图 16-2所示)逐渐成为 WWW运作的主流,在此种方式下,图 16-2 拉模式的数据发布用户向 Internet服务器提出服务请求,
Internet服务器再与数据库服务器进行通信,在数据库服务器中查询用户请求的数据,
并将获取的数据生成为 Web网页发送给用户。使用拉模式,用户可以间接地实现与数据库服务器的交互,从而能根据自己的所需获得动态数据。
注:若要实现拉模式数据传送,需要在 Internet服务器上运行能够访问 ODBC数据库的应用程序,如,CGI( Comman Gateway Interface:公共网关接口 ),ASP( Active
Server Pages,动态服务器网页 ) 和 JSP( Java Server Pages,Java服务器网页 ) 等 。
Web浏览器图 16-2 拉模式的数据发布数据库服务器返回服务请求的数据浏览器发送服务请求
Internet服务器数据库服务器向数据库服务器提出服务请求浏览器接收数据
16-2-1 HTML基 础
1,HTML
定义,HTML( HyperText Market Language:超文本置 标语 言)是用 来 描述
WWW上超文本信息文件的 语 言,用于表征超媒体 结构 的一 个 命令集。 是目前
Internet广泛使用的多媒体的 语 言之一,用 HTML语 言 编写 的文 档称为 HTML文 档 。
所有 HTML文件均利用一般的字符格式(例如 ASCII码 ) 来设计,描述多媒体超文本信息,用 HTML语 言可表示超 链 接,用 HTML编写 的文 档经过测览 器的解 释 和 执 行,
就成 为 在 网 上所看到的 网页 。可利用万 维网 上的 浏览 器直接 观赏 其多媒体 HTML信息作品。
2,HTML特性
HTML具有如下特性:
文档结构定义,格式列表,表和表单 。
文字格式定义 。
图形与文字的编排方式,超文本,超媒体链接 ( 包括 EMAIL) 。
3,HTML语 法
HTML语 法主要包括 HTML标记,HTML注 释与 HTML文 档结构 三部分。
(1) 标记
HTML在文本文 档 中添加一定的 标记 符 号,指出 标记 的文本取用什 么 格式(或 类型),HTML文 档 由很多元素 组 成,每 个 元素由,标记,和 标记 所 说 明的 内 容 组 成。
HTM L中的 标记 符 号 是用 <>括 号 括起 来 的 关键 字 来 表示的。
16-2 HTML和 XML基 础
( 2)注释在 HTML文档中可以加入注释,测览器对注释内容不予执行。其格式是:
单行注释,<!注释内容 >
多行注释,<!--注释内容 >
……
-->
( 3) HTML文档结构
HTML文 档 以< HTML> 开头,< /HTML >结 束,中 间 的 内 容就是 网页 的 内 容。
网页内 容可以分 为网页头 部和 网页 体 两 部分,当 然其中又可再度 细 化 为 若干部分。
HTML文 档 的一般 结构 是:
<html>
<head>
<title>计 算机世界 </title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
……
<!--
……
//-->
</head>
<body>
……
</body>
</html>
HTML文件 标记 部分常用 说 明如表 16-1。
16-2-2 XML基 础定义,XML( Extensible Markup Language)是扩展标识语言的英文缩写。 XML 语言是
Web 的主导技术。它简单灵活,是一种基于 SGML的语言,提供比 HTML更为便捷、完善的方法来描述文档内容,同时通过一种与平台和操作系统无关,能够在所有计算机上运行的方法,提供了描述元数据的机制,XML 不仅是一种技术而是指一个技术组。
XML包括以下成员:
可扩展样式语言( eXtensible Style Language,XSL)。 XSL 与 XML 协同工作的方式和 CSS 与 HTML 协作的方式相类似,XSL 是实现 XML 样式的语言,由它来定义一组规则以决定如何显示 XML文档的内容,以及显示哪些内容从而将 XML 语义转换为显示格式,正如人们在 Web 浏览器中所见到的显示式样一样。
XML链接语言( XML Linking Language),包括 XPath(进行部分而不是全部 XML文档寻址,用于 XML 层次结构、树型结构的搜索),XLink(主要用于定义多个对象部分数据对象或之间的关系,要利用 XML文档的句法来创建结构,从而描述目前的
HTML 的单向超链接以及更为复杂的多端或多类型链接) 和 Xpointer(建立于 XPath 基础上用以支持 XML 内部结构中的寻址)三部分。
XML 名称空间( XML Namespace),是一组相关索引确定名字,在 XML 文档中用作元素类型和属性名,可为使用不同名字的 XML 文档内部结构块提供相互交流的环境。
XML 模式( Schema)。 XML 模式主要用来控制 XML 文档结构和内容的相互关系。
XML 能够实现 Web 上和企业内的许多应用,可轻易地与任何标准的交换语言交换数据。 该类应用主要表现在以下诸多方面:
事件驱动的数据库交互和应用程序间的通信。
定制出版、后处理和电子文档交换。
与媒体无关的全球出版和组件 / 媒体管理。
使用元素名和元数据的精确数据检索。
Web 助手向 导 是 SQL Server 提供的 网页发 布向 导,通 过它 可以很方便地生成 数 据 库网页,也可以 调 度一 个 自 动 更新 Web 页 的任 务 ; 发 布和分 发 管理 报表 与 服 务 器 报 表,用 扩 展存 储过 程 发 布 SQL Server 之外的信息等。
使用 Web 助手向 导发 布 数 据的方法 与 步 骤 如下:
( 1) 启动 企 业 管理器,点 击 【 工具 】 菜 单 下的 【 向 导 】,然后 从 【 选择 向 导 】
对话 框的 【 管理 】 节 点下 选择 【 Web助手向 导 】 并 点 击 【 确定 】 按 钮,弹 出如 图
16-3 所示的 【 欢 迎使用 Web助手向 导 】 对话 框。
( 2)在 【 欢迎使用 Web助手向导 】 对话框中,单击 【 下一步 】 按钮,弹出 【 选择数据库 】 对话框。在该对话框中单击 【 下一步 】 按钮,弹出 【 启动新的 Web助手作业 】 对话框,再在此对话框中单击 【 下一步 】 按钮,弹出 【 选择表和列 】 对话框。
( 3)在 【 选择表和列 】 对话框中的 【 可用表 】 的列表框中点击选择某个具体表,
然后选择相关列(或全部)并单击 【 添加 】 或 【 全部添加 】 按钮,完成表和列的选择,单击 【 下 一步 】 按钮,弹出 【 选择行 】 对话框。在该对话框中可以对行的筛选条件:既可以选择只符合一定条件的行,也可以全选(系统默认项)。单击 【 下一步 】 按钮,系统弹出 【 调度 Web助手作业 】 对话框。
( 4)在 【 调度 Web助手作业 】 对话框中,可以选择指定更新数据和生成 Web页频率。在此选择 【 按预先安排的定期间隔 】 更新数据。单击 【 下一步 】 按钮,弹出 【 调度更新间隔 】 对话框。
( 5)在 【 调度更新间隔 】 对话框中可以设置数据更新的具体时间(周、日、小时和分钟)。单击 【 下一步 】 按钮,弹出 【 发布 Web页 】 对话框,在此可以确定文件名和具体路径。单击 【 下一步 】 按钮,弹出 【 设置 Web页数据格式 】 对话框
16-3 通 过 Web向 导发 布 数 据
( 6)在 【 设置 Web页数据格式 】 对话框中,可以选择任何如何完成 Web页数据格式与布局的设置。既可选用模板方式,也可取用向导帮助为之,本例选择后者。单击 【 下一步 】 按钮,弹出 【 指定标题 】 对话框。
在此对话框中可设置标题及其字号大小,单击 【 下一步 】 按钮,弹出如图
16-13 所示的 【 设置表的格式 】 对话框。用于设置表中列和边框的格式及字体特征。逐次单击 【 下一步 】 按钮,分别会出现如图 16-14(向 Web页添加超级链接)和(限制行)所示的对话框,分别用于添加超级链接和限制一页所显示的行数等。
( 7)在对话框中,单击 【 下一步 】 按钮,系统会弹出最后一个对话框:
【 Web助手向导完成对话框 】 对话框,如图 16-16 所示,单击 【 完成 】 按钮,即可完成本次 Web页的设计。
完成本次 Web页设计后,可以使用浏览器观察浏览。其所完成的实际上是一个定期更新 Web页数据的过程(或作业)。
实际上 SQL Server 2000还提供了系统存储过程 sp_makewebtask来创建 Web
页的工作,进行数据查询并将其作为网页发布,其才是 Web助手向导的幕后工作者,可完成 Web助手向导的所有工作。使用系统存储过程
sp_makewebtask创建 Web页的语法如下:使用 sp_runwebtask可以执行指定的更新 Web页的任务,基于篇幅,在此就不作滞留了,可以参阅 SQL
Server 2000的联机帮助等。
16-4-1 ODBC概 述开 放 数 据 库 系 统 互 连 ( ODBC,Open DataBase Connectivity) 是微弱公司 开发的一套 开 放 数 据 库 系 统应 用程序接口 规 范,可 为应 用程序提供一系列 调 用 层 接口
( CLI:call-level interface)函 数 和基于 动态连 接 库 的 运 行支持 环 境,CLI 是一 个 应 用程序接口( API),包含由 应 用程序 调 用以 获 得一系列服 务 的函 数 。 该 接口使 C 和 C++
等 应 用程序得以 访问来 自 ODBC 数 据源的 数 据。
ODBC 驱动 程序是一 个动态链 接 库 (DLL),ODBC驱动 程序 屏 蔽了不同 数 据 库间的差 异,它 接受 对 ODBC API 函 数 的 调 用 并 采取任何必要的操作 来处 理 对数 据源的 请 求。
ODBC 已被 数 据 库 程序 员 广泛接受,一些 数 据 库 供 应 商提供 ODBC 驱动 程序。
Microsoft公司的其 它 几 个数 据 访问 API 在 ODBC 上被定 义为简 化的 对 象模型,如:
ActiveX 数 据 对 象( ADO),数 据 访问对 象( DAO),远 程 数 据 对 象( RDO)和
Microsoft 基 础类 ( MFC) 数 据 库类 。
SQL Server 2000 包含本机 SQL Server ODBC 驱动 程序,可由 ODBC 应 用程序用于 访问 SQL Server 中的 数 据。在 SQL Server 2000 中,除 isql 外的所有其 它
SQL Server 实 用工具都使用 ODBC API 和 SQL Server ODBC 驱动 程序。
如果工具,实 用程序或系 统级开发 需要最佳性能,或需要 对 SQL Server 功能的 访问 能力,且 它们 不是 COM 应 用程序,则 可以在其中使用 ODBC。 与 OLE DB,ADO等一 样,
ODBC 也使得 个别 的 驱动 程序可以定 义驱动 程序特有的机制,以支持 驱动 程序所 访问 的数 据引擎的附加功能。
这 些功能包括:
一 组 基于以前的 DB-Library 大容量 复 制函 数 的大容量 复 制函 数 。
对 ODBC 诊断 和 记录 功能的 扩 展,以便 从 相 关 信息中 获 得 SQL Server 特有信息。
一 组 表 现 目 录 信息( 来 自在 SQL Server 分布式 查询 中使用的 链 接服 务 器)的函数 。
驱动 程序的各 种 特性和 连 接字符串 关键 字,用于控制 SQL Server特有的行 为 。
16-4 ODBC数 据源
ODBC结构层 次
1。 ODBC结构层 次由 ODBC应用程序,驱动 程序管理器,数据 库驱动 程序,数 据源四 个层次 组 成(如 图 16-18所示)。
2,ODBC客 户 端 应 用
ODBC客 户 端 应 用程序是由 数据 库开发 人 员编写 的,调 用
ODBC API,并 予以提交 将 在数 据 库 服 务 器上 运 行的 SQL语句,ODBC应 用程序完成的主要任 务 包括:
( 1) 连 接 数 据源 与 向 数 据 库发 送 SQL语 句。
( 2)为 SQL语 句的 执 行 结 果分配存 储 空 间,并 定 义 其 读 取的 数 据格式。
(3) 读 取 SQL语 句的 执 行 结 果与处 理 错误 。
(4) 若需要提交 处 理 结 果 请求事 务 的提交和回 滚 操作 。
(5) 断开与数 据源的 连 接 。
16-4-2 ODBC结构层 次图 16-18 ODBC体系结构可通 过 使用 ODBC 管理器,编 程方式(使用 SQLConfigDataSource)或 创 建文件的方法添加 ODBC数 据源。
1,ODBC 管理器使用 ODBC 管理器添加 SQL Server ODBC 数 据源的具体步 骤 如下:
( 1)点 击 【 开 始 】 下 【 设 置 】 中 【 控制面板 】 的 【 数 据源 ODBC】 命令 项,打 开 ODBC
数 据源管理器,如 图 16-19 所示。在 ODBC 数 据源管理器中 单击 【 用 户 DSN】 选项 卡,
然后 单击 【 添加 】 按 钮,弹 出如 图 16-20 所示的 【 创 建新 数 据源 】 对话 框。
( 2)在 【 创 建新 数 据源 】 对话 框的列表框中,选择 SQL Server,然后 单击 【 完成 】 按 钮,
弹 出如 图 16-21 所示的 【 建立新的 数 据源到 SQL Server】 对话 框。在名 称 框,说 明框和服 务 器框中分 别输 入如 图 16-21 所示的相 关数 据,单击 【 下一步 】 按 钮,弹 出如 图 16-
22 所示的 【 建立新的 数 据源到 SQL Server_验证 登 录 】 对话 框。 图 16-22 建立新的 数据源到 SQL Server_验证 登 录
( 3)在 【 建立新的 数 据源到 SQL Server_验证 登 录 】 对话 框中,可指定 认证 方法,并设置 Microsoft SQL Server 高 级 客 户项 以及登 录 名和密 码 。在此,选择 【 使用用 户输 入的登 录 ID 和密 码 的 SQL Server 验证 】 选项 按 钮,表示 SQL Server ODBC 驱动 程序不要求到 SQL Server 的安全(或信任) 连 接。 选 定之后,SQL Server 使用 标 准登 录 安全机制 来 建立使用此 数 据源的 连 接。必 须为 所有 连 接 请 求指定 SQL Server 登 录 ID 和密 码 。
若 单击 【 客 户 端配置 】 按 钮,可 启动 SQL Server 客 户 端配置的 【 添加新 网络库 配置 】
对话 框。 单击 【 连 接 SQL Server 以 获 得附加配置 选项 的默 认设 置 】 复选 框,单击 【 下一步 】 按 钮,弹 出如 图 16-23 所示的 【 建立新的 数 据源到 SQL Server_更改默 认数 据 库 】
对话 框。
16-4-3 添加 SQL Server ODBC数 据源
( 4)在 【 建立新的 数 据源到 SQL Server_更改默 认数 据 库 】 对话 框中,可 设 定默 认数 据 库,附加 数 据 库 等信息。 该对话 框中 【 更改默 认 的 数 据 库为 】 是 为 使用 该数 据源的任意 连 接指定默 认数 据 库 的名字。 当清 除 时,连 接使用 为 服 务 器上的登 录 ID 定义 的默 认数 据 库 。 选 定之后,框中命名的 数 据 库将 取代 为 登 录 ID 定 义 的默 认数 据 库 。
如果 【 附加 数 据 库 文件名 】 框有一 个 主文件的名字,则 由主文件 说 明的 数 据 库 使用
“更改默 认数 据 库为 】 框中指定的 数 据 库 名作 为 一 个数 据 库 被附加。使用登 录 ID 的默 认数 据 库,比在 ODBC 数 据源上指定默 认数 据 库 更有效。
附加 数 据 库 文件名 为 可附加的 数 据 库 指定主文件名。 这个数 据 库 被附加 并 用作 数 据源的默 认数 据 库,指定主文件的完全路 径 名和文件名。在,更改默 认 的 数 据 库为,框中指定的 数 据 库 名字,用作附加 数 据 库 的名字。
( 5)在 【 建立新的 数 据源到 SQL Server_语 言字符 设 置 】 对话 框中,选择 【 将长时间运 行的 查询 保存到日志文件 】 和 【 将 ODBC 驱动 程序 统计记录 到日志文件 】
复选 框。
( 6) 单击 【 确定 】 按 钮,回到如 图 16-25 所示的 【 ODBC Microsoft SQL
Server 安装 】 对话 框,再 单击 【 确定 】 按 钮,完成 ODBC SQL Server数 据源的安装。
注,ODBC SQL Server数 据源安装成功后,在 ODBC数 据源管理器中 会 出 现 新添加的 ODBC数 据源信息,如 图 16-27所示。
2,编 程方式添加 数 据源编 程方式添加 数 据源主要通 过调 用 SQLConfigDataSource,调 用 时将
fOption 设 置 为 ODBC_ADD_DSN 或 ODBC_ADD_SYS_DSN。
添加文件 数 据源 则调 用 SQLDriverConnect,调 用 时连 接字符串中 带参数
SAVEFILE=file_name。如果 该连 接成功,ODBC 驱动 程序 将 在 SAVEFILE 参数 所指向的位置 创 建 带连 接 参数 的文件 数 据源。
【 例 16-1】 使用 SQLConfigDataSource 创建数据源 。
#include <stdio.h>
#include <windows.h>
#include "sql.h"
#include <odbcinst.h>
int main()
{
RETCODE retcode;
UCHAR *szDriver = "SQL Server";
UCHAR *szAttributes =
"DSN=MyDSN\0DESCRIPTION=SQLConfigDSN Sample\0"
"SERVER=MySQL\0ADDRESS=MyServer\0NETWORK=dbmss
ocn\0"
"DATABASE=pubs\0";
retcode = SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
szDriver,
szAttributes);
}
【 例 16-2】 使用 SAVEFILE创建文件数据源。
在 SQLDriverConnect 中使用 SAVEFILE 关键字创建文件数据源,然后使用
SQLDriverConnect 与该文件数据源进行连接。这是删除错误处理后的简化示例。
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <odbcss.h>
#define MAXBUFLEN 255
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
int main() {
RETCODE retcode;
// This format of the SAVEFILE keyword saves a successful
// connection as the file Myfiledsn.dsn in the ODBC default
// directory for file DSNs.
SQLCHAR szConnStrIn[MAXBUFLEN] =
"SAVEFILE=MyFileDSN;DRIVER={SQL
Server};SERVER=MySQL;"
"NETWORK=dbmssocn;UID=sa;PWD=MyPassWord;";
SQLCHAR szConnStrOut[MAXBUFLEN];
SQLSMALLINT cbConnStrOut = 0;
// Allocate the ODBC Environment and save handle.
retcode = SQLAllocHandle (SQL_HANDLE_ENV,NULL,&henv);
//Notify ODBC that this is an ODBC 3.0 application.
retcode = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,
(SQLPOINTER) SQL_OV_ODBC3,SQL_IS_INTEGER);
// Allocate an ODBC connection handle and connect.
retcode = SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc1);
retcode = SQLDriverConnect(hdbc1,// Connection handle
NULL,// Window handle
szConnStrIn,// Input connect string
SQL_NTS,// Null-terminated string
szConnStrOut,// Addr of output buffer
MAXBUFLEN,// Size of output buffer
&cbConnStrOut,// Address of output length
SQL_DRIVER_NOPROMPT);
// Disconnect,set up a new connect string,and then test file DSN.
SQLDisconnect(hdbc1);
strcpy(szConnStrIn,
"FILEDSN=MyFileDSN;UID=sa;PWD=MyPassWord;");
retcode = SQLDriverConnect(hdbc1,// Connection handle
NULL,// Window handle
szConnStrIn,// Input connect string
SQL_NTS,// Null-terminated string
szConnStrOut,// Addr of output buffer
MAXBUFLEN,// Size of output buffer
&cbConnStrOut,// Address of output length
SQL_DRIVER_NOPROMPT);
/* Clean up,*/
SQLDisconnect(hdbc1);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc1);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
return(0);
}
:
注意:
在使用上述方法添加SQ
L S
er
ver
O
DB
C
数据源的基础上
,
用户可以在C
、C
++
和V
isu
al
Ba
sic
编写的程序中直接调用SQ
L
Se
rve
r O
DB
C
数据源
,
达到完成C
、C+
+
和V
isu
al
Ba
sic
程序访问SQ
L S
er
ve
r
20
00
系统的数据
。
使用 ODBC 管理器可配置 ODBC数 据源操,同 样 也可 删 除 ODBC数 据源,且操作 较为简单 。使用 ODBC 管理器 删 除 ODBC数 据源的步 骤 如下:
( 1)点 击 【 开 始 】 下 【 设 置 】 中 【 控制面板 】 的 【 数 据源 ODBC】 命令 项,打 开
ODBC 数 据源管理器,如 图 16-19 所示。
( 2)在 ODBC 数 据源管理器中 单击 【 用 户 DSN】 选项 卡,选 中欲 删 除的用 户 ODBC
数 据源(如在 图 16-27中 选 中 【 YU_信息管理 】 ),然后 单击 【 删 除 】 按 钮并 确 认单击 【 是 】 按 钮,即可 删 除 【 YU_信息管理 】 用 户数 据。
注:若使用 编 程方式 删 除用 户 或系 统数 据源,可 调 用 SQLConfigDataSource,调 用时将 fOption 参数设 置 为 ODBC_REMOVE_DSN 或 ODBC_REMOVE_SYS_DSN。
【 例 16-3】,使用 SQLConfigDataSource 删 除 数 据源,并 通 过删 除 错误检查对 其 进行了 简 化。
#include <stdio.h>
#include <windows.h>
#include "sql.h"
#include <odbcinst.h>
int main() {
RETCODE retcode;
UCHAR *szDriver = "SQL Server";
UCHAR *szAttributes = "DSN=MyFileDSN";
16-4-3 删 除 ODBC数 据源
retcode = SQLConfigDataSource(NULL,
ODBC_REMOVE_DSN,
szDriver,
szAttributes);
}
16-5本章小 结
SQL Server 2000 提供了完 备 的 Web( Internet 服 务 )功能,通 过 支持具有多 层体系 结构 的客 户 /服 务 器模式或 浏览 器 /服 务 器模式 为 Web 应 用提供高可 扩 展性和高可靠性。基于 Web交互式 网页发 布 数 据主要有 两种 模式:推模式 与 拉模式。
HTML是用 来 描述 WWW上超文本信息文件的 语 言,用于表征超媒体 结构 的一 个 命令集,是目前 Internet广泛使用的多媒体的 语 言之一。 XML 语 言是 Web 的主 导 技术 。通 过 一 种与 平台和操作系 统 无 关,提供比 HTML更 为 便捷、完善的方法 来 描述文 档内 容。
Web 助手向 导 是 SQL Server 提供的 网页发 布向 导,通 过它 可以很方便地生成 数 据库网页,也可以 调 度一 个 自 动 更新 Web 页 的任 务 ; 发 布和分 发 管理 报 表 与 服 务 器 报表,用 扩 展存 储过 程 发 布 SQL Server 之外的信息等。
ODBC是一套 开 放 数 据 库 系 统应 用程序接口 规 范,可提供一系列 调 用 层 接口函 数 和基于 动态连 接 库 的 运 行支持 环 境,它 是一 个应 用程序接口,包含由 应 用程序 调 用以获 得一系列服 务 的函 数 。 ODBC结构层 次由 ODBC应 用程序,驱动 程序管理器,数据 库驱动 程序,数 据源四 个层 次 组 成。可使用 ODBC 管理器,编 程方式或 创 建文件的方法添加 ODBC数 据源。
1,简 述 SQL Server 2000的 网络 及 数 据接口 处 理特性。
2,简 述 Web交互式 网页发 布 数 据的模式及特征。
3,何 谓 HTML? 简 述 HTML具有的特性。
4,试问 HTML语 法主要包括 哪 几部分?
5,何 谓 XML? 试问 XML包括 哪 些成 员?
6,简 述使用 Web 助手向 导发 布 数 据的步 骤 。
7,何 谓 ODBC? 简 述 ODBC的 结构层 次和完成的主要任 务 。
8,简 述 创 建 ODBC数 据源的方法。
习题十六