1

考虑 MS SQL 数据库中的列,该列将容纳潜在的大块或 XML 或管道分隔的 HL7v2 数据。

目前(由于没有使用前瞻性思维)它目前被键入为 XML,因为最初我们只接受 XML 数据。虽然从技术上讲这可行,但这意味着 HL7v2 消息中的所有 XML 特殊字符都被编码(& --> &等等)。

这对于我们正在做的事情并不理想。如果我要将此列转换为不同的数据类型,推荐什么?我在想nvarchar(max)它似乎可以处理它,但我并不精通 SQL 数据类型以及对此类数据使用不同类型的含义。

4

3 回答 3

3

除了 真的没有太多选择nvarchar(max)

其他选项是varchar(max)varbinary(max)。您可能需要 Unicode,因此您不能使用varchar. 可以将其存储为varbinary,但使用起来会很烦人。

于 2016-02-19T18:35:53.297 回答
1

使用 HAPI 将 HL7 消息从 ER7(管道分隔)转换为XML 编码。这样,您就可以对所有内容使用单个 SQL Server XML 列。它还为您提供了额外的好处,即能够使用 XQuery 查询 HL7 消息内容。

于 2016-02-20T20:10:03.733 回答
-1

As Nicks say, converting pipe delimited to XML and then persist in XML is the best option, trying to persist xml and pipe delimited values in a same column for me it make no sense, as on source they are different data types.

于 2016-02-22T07:14:04.863 回答