从XML自动生成SQL模式

时间:2008-09-19 20:56:19

标签: sql xml unit-testing

我们正在尝试将SQL Server 2003数据库用于我们的测试记录,并希望快速获取NUnit和NAnt输出并生成SQL架构和数据。有没有一种使用描述这些XML文档的XSD文件生成SQL模式的简单方法?

3 个答案:

答案 0 :(得分:1)

您可以使用XSD。不,我认真的。转到命令提示符并键入xsd并按Enter键。

以下是您将看到的内容(截断):

I:\>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 1.0.3705.0]
Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.


xsd.exe -
    Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

按照说明操作。

答案 1 :(得分:1)

由于XSD在主 - 细节关系方面含糊不清,我怀疑自动生成是否可行。

例如,

等声明
<xs:element name="foo" type="footype" minOccurs="0" maxOccurs="unbounded" /> 

可以解释为子表“foo”(1:n)或n:m关系。

minOccurs =“0”maxOccurs =“1”可以是可为空的列,也可以是可选的1:1关系。

type =“xs:string”maxOccurs =“1”是字符串((n)varchar)列,或者是可选的查找;但是type =“xs:string”maxOccurs =“unbounded”是一个带有(n)varchar列的详细信息表。

答案 2 :(得分:0)

有一个名为ShreX的工具可以从xsd创建模式并从XML插入。它试图单独执行此操作(您可以注释xsd以引导它)。如果你想自己决定结构,可能不是你想要的。