Вставить данные в реляционную таблицу из куба данных
У меня есть SQl куб данных. Я хочу экспортировать данные в таблицу реляционных данных из куба. Я пытался использовать задачу потока данных SSIS для извлечения данных. Но есть несколько проблем преобразования данных и некоторые другие (я использовал действие преобразования данных, но это не решает мою проблему полностью).
Тогда я попробовал сценарий задачи. Я подключаюсь к кубу данных и получаю данные. После этого вставляю в таблицу. Это заняло много времени.
AdomdConnection conn = new AdomdConnection("Data Source=bci-bifsrv-01;Catalog=BInventoryAge");
SqlConnection sqlConn = new SqlConnection(@"Data Source=.;Initial Catalog=Couriers;Integrated Security=True");
conn.Open();
string commText = @"--query--";
AdomdCommand cmd = new AdomdCommand(commText, conn);
cmd.CommandTimeout = 5000;
AdomdDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Каков наилучший способ извлечения данных из куба данных
1 ответ
При использовании поставщика OLE DB для служб Analysis Services 10.0 при переходе к свойствам ссылки на данные добавьте "Формат = Табличный" в поле "Расширенные свойства". Это было известно для решения аналогичных проблем.
Другим вариантом является подключение с использованием ADO.NET вместо OLE DB.
Если ни один из этих способов не работает, последний вариант, который может помочь, - преобразовать все столбцы в DT_WSTR при получении их из куба, а затем снова преобразовать их в их правильные форматы.
Надеюсь это поможет.