Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 读取SQL Server 2000文本列中的XML节点_Sql Server_Xml_Sql Server 2000 - Fatal编程技术网

Sql server 读取SQL Server 2000文本列中的XML节点

Sql server 读取SQL Server 2000文本列中的XML节点,sql-server,xml,sql-server-2000,Sql Server,Xml,Sql Server 2000,我的任务是从一个封存了一段时间的遗留系统中提取一些数据——我们需要的所有数据都存储在一个表中的文本类型列中,平均字符串长度约为7000个字符。XML是用UTF-16编码的 这是我第一次在SQLServer中使用XML,在使用SQLServer2000的过程中,我一直在使用SQLServer2000,这似乎并没有让生活变得更轻松 就这个例子而言,我有一些明显的固有缺陷: DECLARE @xml NVARCHAR(4000), @i INT SELECT TOP 1 @xml = CONVERT(

我的任务是从一个封存了一段时间的遗留系统中提取一些数据——我们需要的所有数据都存储在一个表中的文本类型列中,平均字符串长度约为7000个字符。XML是用UTF-16编码的

这是我第一次在SQLServer中使用XML,在使用SQLServer2000的过程中,我一直在使用SQLServer2000,这似乎并没有让生活变得更轻松

就这个例子而言,我有一些明显的固有缺陷:

DECLARE @xml NVARCHAR(4000), @i INT
SELECT TOP 1 @xml = CONVERT(NTEXT,[Content]) FROM UPLSalesP.dbo.RSSDocument

EXEC sp_xml_preparedocument @i OUTPUT, @xml

SELECT * FROM OPENXML(@i, '/UPLFolder/UPL/ApplicationData', 1)
NVARCHAR限制太小,无法实现我的目标。第二,当我运行我所拥有的时,我得到以下错误:

Msg 6603, Level 16, State 1, Procedure sp_xml_preparedocument, Line 4
XML parsing error: A name contained an invalid character.

我不知道这是编码问题还是XML被明显截断的结果。有人能帮我吗?一些例子将非常有用

编写一些代码可能更有意义,因为SQLServer的xml支持不如实际的编程语言强大;您是否有可以从SQL 2000实例读取数据的SQL 2005+实例?XML处理在2005年变得更加健壮。我可以将它链接到SQLServer2008R2 Express中-什么方法最适合这样解释它?我在2008年尝试进入XML,如下所示
选择TOP 1 Id,从[UPLSalesP].[dbo].[RSSDocument]
转换(XML,内容)并在响应
XML解析时得到了这个结果:第1行,39个字符,无法切换编码
有任何示例可以查看,因为我在这一行迷路了!如果先转换到nvarchar,然后转换到XML,会发生什么?本文作者给出了答案: