Ошибка SQL/ETL, VISION: Слишком много столбцов (как разрешить › 256)

Я выполняю ETL и загружаю около 100 таблиц в хранилище данных моей компании для создания отчетов и анализа. К сожалению, я ничего не могу сказать о дизайне базы данных и практике компании, из которой я загружаю эту информацию. Я подключаюсь к БД, из которой загружаю данные, с URL-адресом jdbc:vortex://. Я загружаю его в свой склад MS SQL Server 2012.

Сказав это, нужная мне критическая таблица имеет более 400 столбцов. Я могу использовать DBVisualizer Free для запроса их данных, но когда я запрашиваю эту таблицу, я получаю сообщение об ошибке:

[Код ошибки: -1, состояние SQL: 07000] Исключение dbFetch: VISION: слишком много столбцов 408 (максимум: 256)

Я также получаю ту же ошибку, когда использую Pentaho Kettle (службы интеграции данных), чтобы попытаться загрузить эту таблицу на свой склад.

Я получаю эту ошибку, даже если пытаюсь получить только пару столбцов из таблицы. Я полагаю, что должен быть способ позволить визуализатору Pentaho и db увеличить количество столбцов, но я не могу найти эту информацию НИГДЕ. Большинство людей не настолько глупы, чтобы иметь более 256 столбцов в таблице, поэтому мне очень трудно найти решение этой проблемы.


person user1452180    schedule 06.07.2012    source источник
comment
возможное решение - создайте 2 представления этой большой таблицы - каждое примерно с половиной столбцов... затем запросите их.   -  person Randy    schedule 06.07.2012
comment
вы используете SQL Server, почему бы не использовать SSIS?   -  person swasheck    schedule 06.07.2012
comment
Я не могу использовать SSIS, потому что для сбора данных я использую соединение JDBC. SSIS не поддерживает это. Я также не могу создать 2 представления, потому что сначала мне нужно получить данные, прежде чем я смогу создать для них представления. Проблема здесь в том, что я не могу загрузить исходную таблицу (редактировать которую я не могу. Все, что я могу сделать, это загрузить ее как есть), потому что в ней слишком много столбцов.   -  person user1452180    schedule 06.07.2012


Ответы (2)


Это параметр драйвера JDBC, который задокументирован создателем этого драйвера JDBC. Тот же вопрос был задан на форуме Pentaho.

person Thomas Morgner    schedule 07.07.2012

Драйвер Vortex принимает свойство max_column, которое я использовал для решения той же самой проблемы. Попробуйте установить max_column на что-то большее, чем 400.

Properties dbProps = new Properties();
dbProps.setProperty("max_column", "500");

Connection dbCon = DriverManager.getConnection("jdbc:vortex...", dbProps);

В DbVisualizer при просмотре соединения перейдите на вкладку «Свойства» и добавьте max_column в разделе «Свойства драйвера».

person dangowans    schedule 21.06.2018