从 SQL Server 2005 中处理 XML
2007-05-13 09:26:22 来源:WEB开发网核心提示: 要进行客户端的 XML 架构验证,您可以使用 T-SQL 函数 xml_schema_namespace() 检索 SQL Server XML SCHEMA COLLECTION,从 SQL Server 2005 中处理 XML(9),这需要 XML 架构集合名称和数据库架构名称,因为
要进行客户端的 XML 架构验证,您可以使用 T-SQL 函数 xml_schema_namespace() 检索 SQL Server XML SCHEMA COLLECTION。这需要 XML 架构集合名称和数据库架构名称,因为 XML 架构集合包括数据库架构。我们可以将它们硬编码到程序中,或者从客户端行集元数据提取它们。通过使用上面的 SqlDataReaderGetSchemaTable 方法或使用新的 SqlMetaData 类,获取与一个特定列相关联的架构集合的名称是很容易的。这里有一小段代码示例:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
void GetCollectionInfo {
// get a connection string from a config file
string s = GetConnectStringFromConfigFile("xmldb");
using (SqlConnection conn = new SqlConnection(s))
using (SqlCommand cmd = new SqlCommand(
"select books_col from typed_xml", conn))
{
conn.Open();
// fetch only SQL Server metadata
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SchemaOnly);
SqlMetaData md = rdr.GetSqlMetaData(0);
string database = md.XMLSCHEMACollectionDatabase;
string schema = md.XMLSCHEMACollectionOwningSchema;
string collection = md.XMLSCHEMACollectionName;
}
}
一旦您了解要检索哪个 XML 架构集合,就可以使用 T-SQL 函数将其检索到客户端 XMLSCHEMASet 中。请注意,此示例还展示了如何使用 XmlReader 检索片段。这是必需的,因为 XML SCHEMA COLLECTION 中的 XML 架构可能不止一个;xml_schema_namespace 函数会将集合中的所有 XML 架构作为一个片段返回。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接