Вставить данные в реляционную таблицу из куба данных

У меня есть 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 при получении их из куба, а затем снова преобразовать их в их правильные форматы.

Надеюсь это поможет.

Другие вопросы по тегам