C# SQLite从xml创建DB表(xsd)

C# SQLite从xml创建DB表(xsd),c#,xml,sqlite,xsd,sqlxml,C#,Xml,Sqlite,Xsd,Sqlxml,我有xml xsd文件。我需要在SQLite db中创建db表,并在C应用程序中将数据从XML加载到此表中 我尝试使用以下代码: string ConnectionStr = "Data Source=mydb.sqlite;Version=3; New=True; Compress = True;"; NDbUnit.Core.INDbUnitTest Database = new NDbUnit.Core.SqlLite.SqlLiteDbUnitTest(ConnectionStr); D

我有xml xsd文件。我需要在SQLite db中创建db表,并在C应用程序中将数据从XML加载到此表中

我尝试使用以下代码:

string ConnectionStr = "Data Source=mydb.sqlite;Version=3; New=True; Compress = True;";
NDbUnit.Core.INDbUnitTest Database = new NDbUnit.Core.SqlLite.SqlLiteDbUnitTest(ConnectionStr);
Database.ReadXmlSchema("AS_ACTSTAT.xsd");
Database.ReadXml("AS_ACTSTAT.xml");
Database.PerformDbOperation(NDbUnit.Core.DbOperationFlag.CleanInsertIdentity);
但我在读取xml模式时遇到以下错误:

SqlDbCommandBuilder.CreateSelectCommandDataSet,的字符串失败 tableName='ActualStatus'

架构文件:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:usch="http://www.unisoftware.ru/schematron-extensions" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="ActualStatuses" sql:is-constant="true" >
        <xs:annotation>
            <xs:documentation>sostav</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ActualStatus" maxOccurs="unbounded" sql:relation="AS_ACTSTAT">
                    <xs:annotation>
                        <xs:documentation>status</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:attribute name="ACTSTATID" use="required">
                            <xs:annotation>
                                <xs:documentation>key</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:totalDigits value="10"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:attribute>
                        <xs:attribute name="NAME" use="required">
                            <xs:annotation>
                                <xs:documentation>name
0 – non actual
1 – actual
</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1"/>
                                    <xs:maxLength value="100"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
另外,我还尝试使用微软的SqlXml 4.0,它与MS SQL 2008配合得很好,但找不到SQLite的OLEDB驱动程序


有什么想法吗?我需要类似SqlXml 4.0的SQlite,因为我以前不知道xml文件的结构。

您应该能够得到更详细的错误信息。该表甚至可能存在。否,在db中,此表丢失,在开始读取xsd时出现问题,该表可能重复