コード例 #1
0
        public DataTable Discover(string request, string restrictions, string properties)
        {
            Context.TraceEvent(100, 0, "Discover: Starting (" + request + ")");

            XmlaClient client = createXmlaClientAndConnect();
            DataTable  dt     = new DataTable();

            // if no properties restriction is specified, default to using
            // the current database
            if (properties.Length == 0)
            {
                properties = string.Format("<CATALOG>{0}</CATALOG>", Context.CurrentDatabaseName);
            }
            try
            {
                string res;
                TimeoutUtility.XmlaClientDiscover(client, request, restrictions, properties, out res, false, false, false);

                dt = createDataTableFromXmla(res);
            }
            finally
            {
                client.Disconnect();
                Context.TraceEvent(100, 0, "Discover: XML/A Connection disconnected");
            }
            Context.TraceEvent(100, 0, "Discover: Finished (" + dt.Rows.Count.ToString() + " rows returned");
            return(dt);
        }
コード例 #2
0
ファイル: Model.cs プロジェクト: TSalacki/SSASAnalyzer
        public void ClearCache()
        {
            XmlaClient clnt = new XmlaClient();
            string     xmla;

            clnt.Connect(SSASConnection.ConnectionString);
            xmla = @"<ClearCache xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">
                    <Object>
                    <DatabaseID>" + this.DatabaseName + @"</DatabaseID>
                    </Object>
                    </ClearCache>";
            try
            {
                clnt.Send(xmla, null);
            }
            catch (XmlaException e)
            {
                clnt.Disconnect();
                throw new Exception(e.Message, e);
            }

            clnt.Disconnect();
        }
コード例 #3
0
        // Cancel Helper function
        private void executeCancel(string cancelCmd)
        {
            XmlaClient client = createXmlaClientAndConnect();
            string     res    = string.Empty;

            try
            {
                client.Execute(cancelCmd, string.Empty, out res, false, true);
            }
            finally
            {
                client.Disconnect();
            }
        }
コード例 #4
0
    public static void SendXMLA([SqlFacet(MaxSize = -1, IsNullable = false)] SqlString XMLA
                                , out SqlXml ReturnXMLA
                                , [SqlFacet(MaxSize = 255, IsNullable = true)] SqlString SSAS_Server)
    {
        XmlaClient clnt = new XmlaClient();

        clnt.Connect(SSAS_Server.IsNull ? OneIncOLAPExtensions.SSAS_Server.Value : SSAS_Server.Value);

        using (var reader = new StringReader(clnt.Send(XMLA.Value, null)))
            using (var xmlreader = new XmlTextReader(reader))
                ReturnXMLA = new SqlXml(xmlreader);

        clnt.Disconnect();
    }
コード例 #5
0
        private string DiscoverRestrictions(string serverName, string rowset)
        {
            Microsoft.AnalysisServices.Xmla.XmlaClient xc = new XmlaClient();
            string res = "";

            xc.Connect(serverName);
            try
            {
                xc.Discover("DISCOVER_SCHEMA_ROWSETS"
                            , string.Format("<SchemaName>{0}</SchemaName>", rowset)
                            , string.Empty
                            , out res
                            , false, false, false);
            }
            finally
            {
                xc.Disconnect();
            }

            return(res);
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Console.Write("Server:");
            string server = Console.ReadLine();

            Console.Write("Database:");
            string database = Console.ReadLine();

            Console.Write("WaitIntervalInMiliSeconds:");
            string interval = Console.ReadLine();
            int    waitIntervalInMiliSeconds;

            Int32.TryParse(interval, out waitIntervalInMiliSeconds);

            XmlaClient clnt = new XmlaClient();

            int counter = 0;

            while (true)
            {
                clnt.Connect(server);

                string xmla = String.Format(@"<ClearCache xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">  
                                    <Object>
                                        <DatabaseID>{0}</DatabaseID>
                                    </Object >
                                </ClearCache>", database);

                Console.WriteLine("Clearing cache (counter=" + counter + ")");

                clnt.Send(xmla, null);

                clnt.Disconnect();

                Thread.Sleep(waitIntervalInMiliSeconds);

                counter++;
            }
        }
コード例 #7
0
 /// <summary>
 /// Execute XMLA script for creating multidimensional project.
 /// </summary>
 public static void ExecuteXMLAScript()
 {
     string connectionString =
     ConfigurationManager.ConnectionStrings["ConnectionStringAnalysisServices"].ToString();
       var client = new XmlaClient();
       var builder = new SqlConnectionStringBuilder(connectionString);
       client.Connect(builder.DataSource);
       string xmla = File.ReadAllText(Environment.CurrentDirectory + @"\Resources\XMLAQuery2.xmla");
       client.Send(xmla, null);
       client.Disconnect();
 }
        private string DiscoverRestrictions(string serverName, string rowset)
        {
            Microsoft.AnalysisServices.Xmla.XmlaClient xc = new XmlaClient();
            string res = "";
            xc.Connect(serverName);
            try
            {
                xc.Discover("DISCOVER_SCHEMA_ROWSETS"
                    , string.Format("<SchemaName>{0}</SchemaName>", rowset)
                    , string.Empty
                    , out res
                    , false, false, false);
            }
            finally
            {
                xc.Disconnect();
            }

            return res;
        }