需要从C#应用程序加载多个sql server表
嗨,我有一个非常复杂的模式(.xsd)和一个.xml文件。有些节点有大约70个属性和大约10-15个属性。我使用XSD2代码创建c#类,然后反序列化我的xml文件。我使用xsd2db应用程序基于.xsd类创建了一个数据库。因此,我已经读取了xml文件,需要将其存储到数据库中。我有74个具有主键/外键关系的类/表。我查看了SqlBulkCopy——为此,我需要将所有内容转换为datatables/行/列。我需要考虑满足外键的层次结构。还有别的方法吗?最好(最快)的方法是什么? 非常感谢。需要从C#应用程序加载多个sql server表,c#,sql-server,xml,xsd,C#,Sql Server,Xml,Xsd,嗨,我有一个非常复杂的模式(.xsd)和一个.xml文件。有些节点有大约70个属性和大约10-15个属性。我使用XSD2代码创建c#类,然后反序列化我的xml文件。我使用xsd2db应用程序基于.xsd类创建了一个数据库。因此,我已经读取了xml文件,需要将其存储到数据库中。我有74个具有主键/外键关系的类/表。我查看了SqlBulkCopy——为此,我需要将所有内容转换为datatables/行/列。我需要考虑满足外键的层次结构。还有别的方法吗?最好(最快)的方法是什么? 非常感谢。 Jenn
Jenny通过T-SQL、SSIS、VB脚本等导入XML文件有不同的方法 很抱歉只使用google和post链接,但我认为sql squirrel发现将XML文件导入sql Server 2005的最简单方法是使用T-sql: SQLTeam似乎认为T-SQL也是WTG:
谢谢你,杰里米。我试过SSIS。首先我认为这是最好的方法。如果我想不出另一条路,我会选择SSIS。但它要求我的db和xml文件位于同一台服务器上,并且几乎所有的数据类型都不匹配,因此我需要转换74个表中每个表中15-70列的数据类型。我发现我找到了SQLXML大容量加载—这似乎也是一个很好的解决方案,只是我没有Microsoft SQLXML大容量加载4.0类型库(xblkld4.dll)—它需要单独安装(SQLXML支持SQL Server数据库的XML),这不是我的选项。@Boroda这里有一篇文章帮助您找到SQLXML(xblkld4.dll)。SQLXML Bulkload在导入XML文件时显得过于夸张,尤其是当其一次性加载为:。我个人更喜欢使用FROM OPENROWSET(BULK'+@xmlFileName++'',SINGLE_BLOB)的组合作为XMLDATA,并使用SQL、LINQ-to-XML和SQLSMO(SQL-mgt对象)对数据进行处理。这是一次性手术吗?您有什么版本的SQL server?