Exemplo n.º 1
0
 private void CreateDataset(XmlReader reader, bool setColumnTypes, DataTable inTable, Dictionary <string, bool> columnsToConvertTimeFor)
 {
     if (inTable != null)
     {
         RowsetFormatter.DataTableCreator @object = new RowsetFormatter.DataTableCreator(inTable, setColumnTypes, columnsToConvertTimeFor);
         FormattersHelpers.LoadSchema(reader, new FormattersHelpers.ColumnDefinitionDelegate(@object.ConstructDataTableColumnDelegate));
         return;
     }
     RowsetFormatter.DataSetCreator dataSetCreator = new RowsetFormatter.DataSetCreator(this.rowsetDataset, setColumnTypes, columnsToConvertTimeFor);
     FormattersHelpers.LoadSchema(reader, new FormattersHelpers.ColumnDefinitionDelegate(dataSetCreator.ConstructDataSetColumnDelegate));
     this.rowsetDataset = dataSetCreator.DataSet;
 }
        static NamespacesMgr()
        {
            NamespacesMgr.AdomdVersionTimeStamp           = new DateTime(2003, 11, 1, CultureInfo.InvariantCulture.Calendar);
            NamespacesMgr.NamespaceCompatibilityXmlSchema = null;
            NamespacesMgr.compatibilityDataSet            = null;
            NamespacesMgr.known = new string[]
            {
                "http://schemas.xmlsoap.org/soap/envelope/",
                "urn:schemas-microsoft-com:xml-analysis",
                "http://schemas.microsoft.com/analysisservices/2003/engine",
                "http://schemas.microsoft.com/analysisservices/2003/engine/2",
                "http://schemas.microsoft.com/analysisservices/2003/engine/2/2",
                "http://schemas.microsoft.com/analysisservices/2008/engine/100",
                "http://schemas.microsoft.com/analysisservices/2008/engine/100/100",
                "http://schemas.microsoft.com/analysisservices/2010/engine/200",
                "http://schemas.microsoft.com/analysisservices/2010/engine/200/200",
                "http://schemas.microsoft.com/analysisservices/2011/engine/300",
                "http://schemas.microsoft.com/analysisservices/2011/engine/300/300",
                "http://schemas.microsoft.com/analysisservices/2012/engine/400",
                "http://schemas.microsoft.com/analysisservices/2012/engine/400/400",
                "http://schemas.microsoft.com/analysisservices/2012/engine/410",
                "http://schemas.microsoft.com/analysisservices/2012/engine/410/410",
                "http://schemas.microsoft.com/analysisservices/2013/engine/500",
                "http://schemas.microsoft.com/analysisservices/2013/engine/500/500",
                "urn:schemas-microsoft-com:xml-analysis:rowset",
                "urn:schemas-microsoft-com:xml-analysis:mddataset",
                "urn:schemas-microsoft-com:xml-analysis:exception",
                "http://www.w3.org/2001/XMLSchema",
                "http://www.w3.org/2001/XMLSchema-instance",
                "urn:schemas-microsoft-com:xml-analysis:empty",
                "http://schemas.microsoft.com/analysisservices/2003/xmla",
                "http://schemas.microsoft.com/analysisservices/2003/ext",
                "http://schemas.microsoft.com/analysisservices/2003/xmla-multipleresults",
                "urn:schemas-microsoft-com:xml-analysis:fault",
                "",
                "urn:schemas-microsoft-com:xml-analysis:xmlDocumentDataset",
                "urn:schemas-microsoft-com:xml-sql"
            };
            NamespacesMgr.NamespaceCompatibilityXmlSchema = string.Format(CultureInfo.InvariantCulture, "<xsd:schema targetNamespace=\"{0}\" xmlns = \"{1}\" xmlns:sql=\"{2}\" xmlns:xsd=\"{3}\" elementFormDefault=\"qualified\">\r\n\t\t\t\t<xsd:element name=\"{4}\">\r\n\t\t\t\t\t<xsd:complexType>\r\n\t\t\t\t\t\t<xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\">\r\n\t\t\t\t\t\t\t<xsd:element name=\"{5}\" type=\"{5}\"/>\r\n\t\t\t\t\t\t</xsd:sequence>\r\n\t\t\t\t\t</xsd:complexType>\r\n\t\t\t\t</xsd:element>\r\n\t\t\t\t<xsd:complexType name=\"{5}\">\r\n\t\t\t\t\t<xsd:sequence>\r\n\t\t\t\t\t\t<xsd:element sql:field=\"{6}\" name=\"{6}\" type=\"xsd:string\"/>\r\n\t\t\t\t\t\t<xsd:element sql:field=\"{7}\" name=\"{7}\" minOccurs=\"0\" maxOccurs=\"unbounded\">\r\n\t\t\t\t\t\t\t<xsd:complexType>\r\n\t\t\t\t\t\t\t\t<xsd:sequence>\r\n\t\t\t\t\t\t\t\t\t<xsd:element sql:field=\"{8}\" name=\"{8}\" type=\"xsd:string\" minOccurs=\"0\"/>\r\n\t\t\t\t\t\t\t\t\t<xsd:element sql:field=\"{9}\" name=\"{9}\" type=\"xsd:dateTime\" minOccurs=\"0\"/>\r\n\t\t\t\t\t\t\t\t</xsd:sequence>\r\n\t\t\t\t\t\t\t</xsd:complexType>\r\n\t\t\t\t\t\t</xsd:element>\r\n\t\t\t\t\t</xsd:sequence>\r\n\t\t\t\t</xsd:complexType>\r\n\t\t\t</xsd:schema>", new object[]
            {
                "urn:schemas-microsoft-com:xml-analysis:rowset",
                "urn:schemas-microsoft-com:xml-analysis:rowset",
                "urn:schemas-microsoft-com:xml-sql",
                "http://www.w3.org/2001/XMLSchema",
                "root",
                "row",
                "Namespace",
                "Compatibility",
                "ProductBranch",
                "VersionTimeStamp"
            });
            XmlReader xmlReader = null;

            try
            {
                xmlReader = XmlReader.Create(new StringReader(NamespacesMgr.NamespaceCompatibilityXmlSchema));
                RowsetFormatter.DataSetCreator dataSetCreator = new RowsetFormatter.DataSetCreator(null, false, null);
                FormattersHelpers.LoadSchema(xmlReader, new FormattersHelpers.ColumnDefinitionDelegate(dataSetCreator.ConstructDataSetColumnDelegate));
                NamespacesMgr.compatibilityDataSet = dataSetCreator.DataSet;
            }
            finally
            {
                if (xmlReader != null)
                {
                    xmlReader.Close();
                }
            }
        }