许多开发人员已经意识到,并且更多的开发人员正开始意识到 Oracle 数据库与 .NET 应用程序结合将形成了一个强大的组合。Oracle 数据库众多强大特性之一就是能够使用 XML。利用 Oracle Data Provider for .NET (ODP.NET) 和 Oracle XML DB,通过 Visual Studio.NET 应用程序在 Oracle 数据库中使用 XML 数据就和使用传统数据类型一样容易。(关于使用 Oracle 进行一般的 .NET 开发的介绍,请参见 John Paul Cook 的文章“在 Oracle 数据库上构建 .NET 应用程序”。关于使用 XML 和 Oracle Data Provider for .NET. 的其他示例,请参见“ODP.NET 的 XML 支持”页面。)
本文介绍了利用 ODP.NET 和 Visual Studio .NET 在 Oracle 数据库中使用 XML 数据的基础知识,并特别介绍了
- 将 XML 模式加载到数据库中
- 将 XML 实例文档加载到数据库中
- 创建在 XML 数据上执行 DML 操作的 .NET 应用程序。
为了成功实施本文中的代码,您需要能够访问安装了 XML DB 的 Oracle9i Release 2 或更高版本的数据库、Visual Studio.NET、Oracle 10g 客户端软件和 ODP.NET 10g。(Oracle 数据库 10g 下载包括 ODP.NET。)
在本文中,我创建了一个名为“OTNXML”的数据库用户来演示 XML 数据的使用。如果您没有足够的权限在数据库中创建拥有相应权限的用户,那么您需要与您的数据库管理员协作来完成这个任务。我将本文分解为一系列易于理解的步骤,并从创建数据库用户开始。
注意:创建新用户不是严格必需的 — 如果您已经有了一个拥有与第 1 步中列出的权限(或更高权限)的用户,那么您可以在本文中可以使用该用户。当然,您也可以为现有用增加缺少的权限。例如,OE 用户(Oracle 示例模式的一部分)拥有除 create any directory 和 0drop any directory 权限外的所有必要权限。
第 1 步:创建数据库用户
为了为本文创建数据库用户,请使用 SQL*Plus 以管理用户(拥有 DBA 角色的用户)身份登录数据库,并执行以下语句:
-- create the database user
-- adjust tablespace names as necessary for your environment
create user otnxml identified by demo
default tablespace users
temporary tablespace temp
quota unlimited on users.
一旦创建了用户,则授予其相应的权限和角色。我选择了仅授予必要的系统权限,而不是授予“传统的”connect 和 resource 角色。
-- grant system privileges and roles to the user
grant create session,
alter session,
create table,
create trigger,
create type,
create any directory,
0drop any directory,
xdbadmin
to otnxml.