如何发现数据列的基础数据类型为 xml

本文关键字:数据类型 xml 数据 何发现 发现 | 更新日期: 2023-09-27 18:35:31

我有一个SQL Server数据表,其中包含一个xml列。我使用 DataTableSqlDataAdapter类的Fill方法)运行选择查询。执行后,列的类型为 string

我想知道如何从Fill方法实现的DataTable中确定实际的SQL Server数据类型(在本例中为xml)。

我不能使用SqlDataReader(它有GetSchemaTable返回SQL Server数据类型信息的方法) - 我必须使用SqlDataAdapter/DataTable。执行以下操作:

DataTableReader reader = new DataTableReader(table);
DataTable schemaTable = reader.GetSchemaTable();

也没有帮助,因为它似乎也不包含 SQL Server 数据类型信息。

如何发现数据列的基础数据类型为 xml

SqlDataAdapter上有一个名为 ReturnProviderSpecificTypes 的属性,如果您将其设置为 true,那么GetSchemaTable()应该告诉您该列是typeof(SqlXml)而不是typeof(string)