请:我在尝试运行我的代码时收到以下异常:
你调用的对象是空的...
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 身份验证。