База данных IBM Db2
Сводка
Пункт | Описание |
---|---|
Состояние выпуска | Общая доступность |
Продукция | Эксель Power BI (семантические модели) Power BI (потоки данных) Fabric (Dataflow 2-го поколения) Power Apps (потоки данных) Dynamics 365 Customer Insights |
Поддерживаемые типы проверки подлинности | Основной База данных Виндоус |
Справочная документация по функциям | база данных DB2. |
Заметка
Некоторые возможности могут присутствовать в одном продукте, но не другие из-за расписаний развертывания и возможностей для конкретного узла.
Необходимые условия
По умолчанию соединитель базы данных IBM Db2 использует драйвер Майкрософт для подключения к данным. Если вы решили использовать драйвер IBM в расширенных параметрах в Power Query Desktop, необходимо сначала установить драйвер IBM Db2 для .NET на компьютере, используемом для подключения к данным. Имя этого драйвера изменяется со времени, поэтому обязательно установите драйвер IBM Db2, который работает с .NET. Инструкции по загрузке, установке и настройке драйвера IBM Db2 для .NET см. в статье Скачивание начальных клиентов и драйверов версии 11.5. Дополнительные сведения: ограничения драйвераубедитесь, что драйвер IBM Db2 установлен
Поддерживаемые возможности
- Импорт
- DirectQuery (семантические модели Power BI)
- Дополнительные параметры
- Драйвер (IBM или Microsoft)
- Время ожидания команды в минутах
- Коллекция пакетов
- Инструкция SQL
- Включите столбцы связей
- Навигация с помощью полной иерархии
Подключение к базе данных IBM Db2 из Power Query Desktop
Чтобы сделать подключение, выполните следующие действия.
Выберите опцию IBM Db2 в меню Get Data.
Укажите сервер IBM Db2 для подключения к Server. Если требуется порт, укажите его с помощью формата ServerName:Port, где порт номер порта. Кроме того, введите базу данных IBM Db2, к которой вы хотите получить доступ в Базе данных. В этом примере имя сервера и порт
TestIBMDb2server.contoso.com:4000
, а доступ к базе данных IBM Db2 осуществляетсяNORTHWD2
.Если вы подключаетесь из Power BI Desktop, выберите режим подключения
импорта или DirectQuery режим подключения к данным. В остальных примерах действий используется режим подключения к данным импорта. Дополнительные сведения о DirectQuery см. в разделе Использование DirectQuery в Power BI Desktop.Заметка
По умолчанию диалоговое окно базы данных IBM Db2 использует драйвер Майкрософт во время входа. Если вы хотите использовать драйвер IBM, откройте дополнительные параметры и выберите IBM. Дополнительные сведения: Подключение с помощью дополнительных параметров
Если выбрать DirectQuery в качестве режима подключения к данным, инструкция SQL в дополнительных параметрах будет отключена. DirectQuery в настоящее время не поддерживает отправку запроса вниз поверх собственного запроса базы данных для соединителя IBM Db2.
Выберите ОК.
Если вы впервые подключаетесь к этой базе данных IBM Db2, выберите тип проверки подлинности, который вы хотите использовать, введите свои учетные данные и выберите Connect. Дополнительные сведения о проверке подлинности см. в аутентификации с помощью источника данных.
По умолчанию Power Query пытается подключиться к базе данных IBM Db2 с помощью зашифрованного подключения. Если Power Query не удается подключиться с помощью зашифрованного подключения, появится диалоговое окно "Не удается подключиться". Чтобы подключиться с помощью незашифрованного подключения, нажмите кнопку ОК.
В навигаторевыберите необходимые данные, а затем выберите Загрузить данные для загрузки данных или Преобразовать данные для преобразования данных.
Подключение к базе данных IBM Db2 из Power Query Online
Чтобы сделать подключение, выполните следующие действия.
Выберите параметр базы данных IBM Db2 на странице Power Query - Подключение к источнику данных.
Укажите сервер IBM Db2 для подключения к Server. Если требуется порт, укажите его с помощью формата ServerName:Port, где порт номер порта. Кроме того, введите базу данных IBM Db2, к которой вы хотите получить доступ в Базе данных. В этом примере имя сервера и порт
TestIBMDb2server.contoso.com:4000
, а доступ к базе данных IBM Db2 осуществляетсяNORTHWD2
Выберите имя локального шлюза данных.
Заметка
Для этого соединителя необходимо выбрать локальный шлюз данных, независимо от того, находится ли база данных IBM Db2 в локальной сети или в сети.
Если вы впервые подключаетесь к этой базе данных IBM Db2, выберите тип учетных данных для подключения в разделе Вид проверки подлинности. Выберите Basic, если вы планируете использовать учетную запись, созданную в базе данных IBM Db2, вместо аутентификации Windows.
Введите свои учетные данные.
Выберите Использовать зашифрованное подключение, если вы хотите использовать зашифрованное подключение, или снимите флажок, если вы хотите использовать незашифрованное подключение.
Нажмите кнопку Далее, чтобы продолжить.
В навигаторевыберите необходимые данные, а затем выберите преобразовать данные, чтобы открыть редактор Power Query для их преобразования.
Подключение с помощью дополнительных параметров
Power Query предоставляет набор дополнительных параметров, которые можно добавить в запрос при необходимости.
В следующей таблице перечислены все дополнительные параметры, которые можно задать в Power Query.
Расширенный параметр | Описание |
---|---|
Водитель | Определяет, какой драйвер используется для подключения к базе данных IBM Db2. Выбор — IBM и Windows (по умолчанию). При выборе драйвера IBM необходимо сначала убедиться, что на компьютере установлен драйвер IBM Db2 для .NET. Этот параметр доступен только в Power Query Desktop. Дополнительные сведения: убедитесь, что драйвер IBM Db2 установлен |
Время ожидания команды в минутах | Если подключение длится дольше 10 минут (время ожидания по умолчанию), можно ввести другое значение в минутах, чтобы сохранить подключение открытым дольше. |
Коллекция пакетов | Указывает, где искать пакеты. Пакеты — это структуры управления, используемые Db2 при обработке инструкции SQL, и при необходимости автоматически создаются. По умолчанию этот параметр использует значение NULLID . Доступно только при использовании драйвера Майкрософт. Дополнительные сведения: пакеты DB2 : основные понятия, примеры и распространенные проблемы |
Инструкция SQL | Для получения информации обратитесь к Импортирование данных из базы данных с помощью встроенного запроса. |
Включить столбцы связей | Если установлен флажок, содержит столбцы, которые могут иметь связи с другими таблицами. Если это поле снято, эти столбцы не будут отображаться. |
Навигация с помощью полной иерархии | Если флажок отмечен, навигатор отображает полную иерархию таблиц в базе данных, к которой вы подключаетесь. При очистке навигатор отображает только таблицы, столбцы и строки которых содержат данные. |
Выбрав необходимые дополнительные параметры, выберите ОК в Power Query Desktop или Далее в Power Query Online, чтобы подключиться к базе данных IBM Db2.
Проблемы и ограничения
Ограничения драйвера
Драйвер Майкрософт — это тот же драйвер, который используется на сервере интеграции узлов Майкрософт, который называется "поставщиком ADO.NET для DB2". Драйвер IBM — это драйвер IBM Db/2, который работает с .NET. Имя этого драйвера изменяется от времени, поэтому убедитесь, что он работает с .NET, который отличается от драйверов IBM Db2, работающих с OLE/DB, ODBC или JDBC.
Вы можете использовать драйвер Майкрософт (по умолчанию) или драйвер IBM, если вы используете Power Query Desktop. В настоящее время Power Query Online использует только драйвер Майкрософт. Каждый драйвер имеет свои ограничения.
- Драйвер Майкрософт
- Поддерживает протокол TLS только с выпуском Power BI Desktop за декабрь 2024 г. или более поздних версий.
- Драйвер IBM
- Соединитель базы данных IBM Db2 при использовании драйвера IBM Db2 для .NET не работает с системами Mainframe или IBM i
- Не поддерживает DirectQuery
Корпорация Майкрософт предоставляет поддержку драйвера Майкрософт, но не для драйвера IBM. Однако если ИТ-отдел уже установил и настроил его на ваших компьютерах, он должен знать, как устранить неполадки с драйвером IBM.
Собственные запросы не поддерживаются в DirectQuery
При выборе DirectQuery в качестве режима подключения к данным в Power Query Desktop текстовое поле инструкции SQL в дополнительных параметрах отключено. Он отключен, так как коннектор IBM Db2 Power Query в настоящее время не поддерживает передачу выполнения запроса в контексте собственного запроса базы данных.
Устранение неполадок
Убедитесь, что установлен драйвер IBM Db2
Если вы решили использовать драйвер IBM Db2 для Power Query Desktop, сначала необходимо скачать, установить и настроить драйвер на компьютере. Чтобы убедиться, что драйвер IBM Db2 установлен:
Откройте Windows PowerShell на компьютере.
Введите следующую команду:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
В открывшемся диалоговом окне должно появиться следующее имя в столбце InvariantName:
IBM.Data.DB2
Если это имя находится в столбце InvariantName, драйвер IBM Db2 установлен и настроен правильно.
Коды ошибок SQLCODE -805 и SQLCODE -551
При попытке подключиться к базе данных IBM Db2 вы можете иногда столкнуться с распространенной ошибкой SQLCODE -805, которая указывает, что пакет не найден в NULLID
или другой коллекции (указанной в конфигурации подключения Power Query ). Вы также можете столкнуться с распространенной ошибкой SQLCODE -551, которая указывает на то, что вы не можете создавать пакеты, так как у вас нет прав на привязку пакетов.
Как правило, за sqlCODE -805 следует SQLCODE -551, но вы увидите только второе исключение. В действительности проблема одинакова. У вас нет полномочий привязывать пакет к NULLID
или указанной коллекции.
Как правило, большинство администраторов IBM Db2 не предоставляют полномочия на связывание пакета пользователям — особенно конечным пользователям в среде IBM z/OS (мейнфрейм) или IBM i (AS/400). Db2 в Linux, Unix или Windows отличаются в том, что учетные записи пользователей имеют права привязки по умолчанию, которые создают пакет MSCS001 (стабильность курсоров) в собственной коллекции пользователя (имя = имя входа пользователя).
Если у вас нет прав привязки пакета, вам потребуется попросить администратора Db2 предоставить право привязки пакета. Обладая полномочиями привязки пакета, подключитесь к базе данных и извлеките данные, которые автоматически создадут пакет. После этого администратор может отозвать право на привязку упаковки. Кроме того, после этого администратор может "привязать копию" пакета к другим коллекциям, чтобы повысить параллелизм, чтобы лучше соответствовать внутренним стандартам, где пакеты привязаны, и т. д.
При подключении к IBM Db2 для z/OS администратор Db2 может выполнить следующие действия.
Предоставьте полномочия на привязку нового пакета к пользователю с помощью одной из следующих команд:
- ПРЕДОСТАВИТЬ BINDADD ON SYSTEM TO <authorization_name>
- GRANT PACKADM ON <COLLECTION_NAME> TO <AUTHORIZATION_NAME>
С помощью Power Query подключитесь к базе данных IBM Db2 и получите список схем, таблиц и представлений. Соединитель базы данных IBM Db2 Power Query автоматически создаст пакет NULLID.MSCS001, а затем предоставит право выполнения пакета для всех.
Отмените полномочия, чтобы привязать новый пакет к пользователю с помощью одной из следующих команд:
- ОТЗЫВ BINDADD ИЗ <AUTHORIZATION_NAME>
- ОТМЕНИТЬ PACKADM ДЛЯ <collection_name> ОТ <authorization_name>
При подключении к IBM Db2 для Linux, Unix или Windows администратор Db2 может выполнить следующие действия.
ПРЕДОСТАВИТЬ ПРАВА BINDADD НА БАЗЕ ДАННЫХ ПОЛЬЗОВАТЕЛЮ <authorization_name>.
С помощью Power Query подключитесь к базе данных IBM Db2 и получите список схем, таблиц и представлений. Соединитель IBM Db2 Power Query автоматически создаст пакет NULLID.MSCS001, а затем предоставит право выполнения пакета общественности.
ОТМЕНИТЬ BINDADD НА БАЗЕ ДАННЫХ ОТ ПОЛЬЗОВАТЕЛЯ <authorization_name>.
GRANT EXECUTE ON PACKAGE <collection.package> TO USER <authorization_name>.
При подключении к IBM Db2 для i администратор Db2 может выполнить следующие действия.
WRKOBJ QSYS/CRTSQLPKG. Введите "2", чтобы изменить права доступа к объекту.
Измените право с *EXCLUDE на PUBLIC или <authorization_name>.
После этого измените права доступа на *EXCLUDE.
SQLCODE код ошибки -360
При попытке подключиться к базе данных IBM Db2 может возникнуть следующая ошибка:
Microsoft Db2 Client: The host resource could not be found. Check that the Initial Catalog value matches the host resource name. SQLSTATE=HY000 SQLCODE=-360
Это сообщение об ошибке указывает, что вы не указали правильное значение для имени базы данных.
Код ошибки SQLCODE -1336
The specified host could not be found.
Дважды проверьте имя и убедитесь, что хост доступен. Например, используйте ping в командной строке, чтобы попытаться связаться с сервером и убедиться, что IP-адрес правильный, или используйте telnet для подключения к серверу.
SQLCODE код ошибки -1037
Host is reachable, but is not responding on the specified port.
Порт указывается в конце имени сервера, разделенного двоеточием. Если опущено, используется значение по умолчанию 50000.
Чтобы найти порт, который используется Db2 в системах Linux, Unix и Windows, выполните следующую команду:
db2 get dbm cfg | findstr SVCENAME
Ищите в выводе запись SVCENAME (и SSL_SVCENAME для подключений с шифрованием TLS). Если это значение равно числу, это порт. В противном случае сверьте значение с таблицей "службы" системы. Обычно это можно найти по адресу /etc/services или по адресу c:\windows\system32\drivers\etc\services для Windows.
На следующем снимке экрана показаны выходные данные этой команды в Linux/Unix.
На следующем снимке экрана показаны выходные данные этой команды в Windows.
Определение имени базы данных
Чтобы определить имя базы данных, используемое:
В IBM i запустите
DSPRDBDIRE
.Одна из записей будет содержать удаленное местоположение *LOCAL. Используйте эту запись.
Определение номера порта
Драйвер Майкрософт подключается к базе данных с помощью протокола DRDA. Порт по умолчанию для DRDA — порт 446. Сначала попробуйте использовать это значение.
Чтобы найти определенный порт, на котором выполняется служба DRDA, выполните следующие действия.
Запустите команду IBM i
WRKSRVTBLE
.Прокрутите вниз, пока не найдете записи для DRDA.
Чтобы убедиться, что служба DRDA готова и прослушивает указанный порт, запустите
NETSTAT
.Выберите вариант 3 (для IPv4) или вариант 6 (для IPv6).
Нажмите клавишу F14, чтобы просмотреть номера портов вместо имен и прокрутите страницу, пока не увидите порт. У него должна быть запись с состоянием "Прослушивание".