1

请:我在尝试运行我的代码时收到以下异常:

你调用的对象是空的...

using (OleDbConnection conn = new OleDbConnection(@"Provider=MSOLAP.4; Data Source=<mysource>; Initial Catalog=Analysis ComponetReport;"))
        {
            conn.Open();
            var mdxQuery = new StringBuilder();
            mdxQuery.Append("SELECT NON EMPTY { [Measures].[AFR] } ON COLUMNS, [DIM_Component_Basic].[KP Mat Nr].children on ROWS FROM (Select [DIM_Component_Basic].[KP Mat Nr].&[" + partNumber + "] ON COLUMNS FROM [CUB Componenten])");
            using (OleDbCommand cmd = new OleDbCommand(mdxQuery.ToString(), conn))
            {
                //DataSet ds = new DataSet();
                //ds.EnforceConstraints = false;
                //ds.Tables.Add();
                DataTable dt = new DataTable();
                dt.Load(cmd.ExecuteReader());

                try
                {
                    part.PartNumber = dt.Rows[0][0].ToString();

错误发生在 dt.Load(cmd.ExecuteReader())); 部分。

现在:我发誓两天前同样的代码可以工作。如果我更改 Adomd 的 oleDB 部分,它现在也可以工作。

但是我不能使用 Adomd 连接,因为我不想使用 Windows 身份验证。

4

0 回答 0