Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Resumo
| Item | Descrição |
|---|---|
| Estado de lançamento | Disponibilidade geral |
| Produtos | Excel Power BI (modelos semânticos) Power BI (fluxos de dados) Fabric (Fluxo de dados Gen2) Power Apps (fluxos de dados) Dynamics 365 Customer Insights |
| Tipos de autenticação com suporte | Básico Base de dados Windows |
| Documentação de referência de função | DB2.Banco de Dados |
Nota
Alguns recursos podem estar presentes em um produto, mas não em outros devido a agendas de implantação e recursos específicos do host.
Pré-requisitos
Por padrão, o conector de banco de dados IBM Db2 usa o driver da Microsoft para se conectar aos seus dados. Se você optar por usar o driver IBM nas opções avançadas no Power Query Desktop, primeiro instale o driver IBM Db2 para .NET no computador usado para se conectar aos dados. O nome desse driver muda de vez em quando, portanto, instale o driver IBM Db2 que funciona com o .NET. Para obter instruções sobre como baixar, instalar e configurar o driver IBM Db2 para .NET, acesse Baixar clientes e drivers iniciais da versão 11.5. Mais informações: limitações do driver , verifique se o driver IBM Db2 está instalado
Capacidades Suportadas
- Importação
- DirectQuery (modelos semânticos do Power BI)
- Opções avançadas
- Driver (IBM ou Microsoft)
- Tempo limite de comando em minutos
- Coleção de pacotes
- Instrução SQL
- Incluir colunas de relação
- Navegar usando a hierarquia completa
Conectar-se a um banco de dados IBM Db2 do Power Query Desktop
Para fazer a conexão, execute as seguintes etapas:
Selecione a opção Banco de dados IBM Db2 em Obter Dados.
Especifique o servidor IBM Db2 ao qual se conectar no Server. Se uma porta for necessária, especifique-a usando o formato ServerName:Port, em que Porta é o número da porta. Além disso, insira o banco de dados IBM Db2 que você deseja acessar no banco de dados . Neste exemplo, o nome do servidor e a porta são
TestIBMDb2server.contoso.com:4000e o banco de dados IBM Db2 que está sendo acessado éNORTHWD2.
Se você estiver se conectando por meio do Power BI Desktop, selecione o modo de conectividade de dados Importar ou DirectQuery. O restante dessas etapas de exemplo usa o modo de conectividade de dados Importar. Para saber mais sobre o DirectQuery, acesse Usar o DirectQuery no Power BI Desktop.
Nota
Por padrão, a caixa de diálogo do banco de dados IBM Db2 usa o driver da Microsoft durante o login. Se você quiser usar o driver IBM, abra Opções avançadas e selecione IBM. Para obter mais informações, acesse Connect usando opções avançadas.
Se você selecionar DirectQuery como seu modo de conectividade de dados, a instrução SQL nas opções avançadas será desabilitada. No momento, o DirectQuery não dá suporte à passagem de consulta no topo de uma consulta de banco de dados nativo para o conector IBM Db2.
Selecione OK.
Se você estiver se conectando a esse banco de dados IBM Db2 pela primeira vez, selecione o tipo de autenticação que deseja usar, insira suas credenciais e selecione Conectar. Para ter mais informações sobre a autenticação, acesse Autenticação com uma fonte de dados.
Por padrão, o Power Query tenta se conectar ao banco de dados IBM Db2 usando uma conexão criptografada. Se o Power Query não puder se conectar usando uma conexão criptografada, aparecerá uma caixa de diálogo "Não é possível se conectar". Para se conectar usando uma conexão não criptografada, selecione OK.
No Navegador, selecione os dados necessários e selecione Carregar para carregar os dados ou Transformar Dados para transformar os dados.
Conectar-se a um banco de dados IBM Db2 do Power Query Online
Para fazer a conexão, execute as seguintes etapas:
Selecione a opção Banco de dados IBM Db2 na página Power Query – Conectar-se à fonte de dados.
Especifique o servidor IBM Db2 ao qual se conectar no Server. Se uma porta for necessária, especifique-a usando o formato ServerName:Port, em que Porta é o número da porta. Além disso, insira o banco de dados IBM Db2 que você deseja acessar no banco de dados . Neste exemplo, o nome do servidor e a porta são
TestIBMDb2server.contoso.com:4000e o banco de dados IBM Db2 que está sendo acessado éNORTHWD2Selecione o nome do gateway de dados local.
Nota
Você deve selecionar um gateway de dados local para esse conector, independentemente de o banco de dados IBM Db2 estar em sua rede local ou online.
Se você estiver se conectando a esse banco de dados IBM Db2 pela primeira vez, selecione o tipo de credenciais para a conexão no tipo autenticação. Escolha Básico se você planeja usar uma conta criada no banco de dados IBM Db2 em vez de autenticação do Windows.
Insira suas credenciais.
Selecione usar a conexão criptografada se você quiser usar uma conexão criptografada ou desmarque a opção se quiser usar uma conexão não criptografada.
Selecione Próximo para continuar.
Em Navegador, selecione os dados necessários e selecione Transformar dados para transformar os dados no editor do Power Query.
Conectar-se usando opções avançadas
O Power Query fornece um conjunto de opções avançadas que você pode adicionar à consulta, se necessário.
A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query.
| Opção avançada | Descrição |
|---|---|
| Motorista | Determina qual driver é usado para se conectar ao banco de dados IBM Db2. As opções são IBM e Windows (padrão). Se você selecionar o driver IBM, primeiro deverá garantir que o driver IBM Db2 para .NET esteja instalado em seu computador. Essa opção só está disponível no Power Query Desktop. Mais informações: verifique se o driver IBM Db2 está instalado |
| Tempo limite de comando em minutos | Se a conexão durar mais de 10 minutos (o tempo limite padrão), você poderá inserir outro valor em minutos para manter a conexão aberta por mais tempo. |
| Coleção de pacotes | Especifica onde procurar pacotes. Os pacotes são estruturas de controle usadas pelo Db2 ao processar uma instrução SQL e são criados automaticamente, se necessário. Por padrão, essa opção usa o valor NULLID. Disponível somente ao usar o driver da Microsoft. Mais informações: pacotes DB2: conceitos, exemplos e problemas comuns |
| Instrução SQL | Para obter informações, acesse Importar dados de um banco de dados usando consulta de banco de dados nativa. |
| Incluir colunas de relação | Se marcada, inclui colunas que podem ter relações com outras tabelas. Ao desmarcar esta caixa, você não verá essas colunas. |
| Navegar usando a hierarquia completa | Se marcada, o navegador exibirá a hierarquia completa de tabelas no banco de dados ao qual você está se conectando. Se ela estiver desmarcada, o navegador exibirá apenas as tabelas cujas colunas e linhas contêm dados. |
Depois de selecionar as opções avançadas necessárias, selecione OK no Power Query Desktop ou Avançar no Power Query Online para se conectar ao banco de dados IBM Db2.
Problemas e limitações
Limitações do driver
O driver da Microsoft é o mesmo usado no Microsoft Host Integration Server, chamado de "Provedor ADO.NET para DB2". O driver IBM é o driver IBM Db/2 que trabalha com o .NET. O nome desse driver muda de tempos em tempos, portanto, certifique-se de que ele funcione com o .NET, que é diferente dos drivers IBM Db2 que trabalham com OLE/DB, ODBC ou JDBC.
Você pode optar por usar o driver da Microsoft (padrão) ou o driver IBM se estiver usando o Power Query Desktop. Atualmente, o Power Query Online usa apenas o driver da Microsoft. Cada driver tem suas limitações.
- Driver da Microsoft
- Dá suporte ao TLS (Transport Layer Security) somente com a versão de dezembro de 2024 do Power BI Desktop ou posterior
- Driver da IBM
- O conector de banco de dados IBM Db2, ao usar o driver IBM Db2 para .NET, não funciona com sistemas Mainframe ou IBM i
- Não dá suporte ao DirectQuery
A Microsoft oferece suporte para o driver da Microsoft, mas não para o driver IBM. No entanto, se o departamento de TI já tiver instalado e configurado em seus computadores, o departamento de TI deverá saber como solucionar problemas do driver da IBM.
Consultas nativas sem suporte no DirectQuery
Quando você seleciona DirectQuery como o modo de conectividade de dados no Power Query Desktop, a caixa de texto da instrução SQL nas opções avançadas é desabilitada. A caixa está desabilitada porque o conector IBM Db2 do Power Query atualmente não dá suporte a push down de consulta sobre uma consulta de banco de dados nativa.
Resolução de problemas
Verifique se o driver IBM Db2 está instalado
Se você optar por usar o driver IBM Db2 para Power Query Desktop, primeiro precisará baixar, instalar e configurar o driver em seu computador. Para garantir que o driver IBM Db2 esteja instalado:
Abra o Windows PowerShell em seu computador.
Insira o seguinte comando:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogvNa caixa de diálogo que é aberta, você deverá ver o seguinte nome na coluna InvariantName:
IBM.Data.DB2
Se esse nome estiver na coluna InvariantName , o driver IBM Db2 será instalado e configurado corretamente.
Códigos de erro -805 e SQLCODE -551
Ao tentar conectar-se a um banco de dados IBM Db2, você pode encontrar ocasionalmente o erro comum SQLCODE -805, que indica que o pacote não foi encontrado em NULLID ou em outra coleção (especificada na configuração de conexão de pacote do Power Query). Você também pode encontrar o erro comum SQLCODE -551, que indica que você não pode criar pacotes porque não tem autoridade de associação de pacote.
Normalmente, -805 SQLCODE é seguido por SQLCODE -551, mas apenas a segunda exceção é exibida. Na realidade, o problema é o mesmo. Você não tem autoridade para associar o pacote a NULLID ou à coleção especificada.
Normalmente, a maioria dos administradores do IBM Db2 não concede autoridade para associar pacotes aos usuários finais, especialmente em um ambiente IBM z/OS (mainframe) ou IBM i (AS/400). O Db2 no Linux, Unix ou Windows é diferente porque as contas de usuário têm privilégios de vinculação por padrão, que criam o pacote MSCS001 (Estabilidade do Cursor) na coleção do próprio usuário (nome = nome de entrada do usuário).
Se você não tiver privilégios de vínculo de pacote, precisará solicitar ao administrador do Db2 a autoridade de vínculo de pacotes. Com essa autoridade de associação de pacote, conecte-se ao banco de dados e busque dados, que cria automaticamente o pacote. Posteriormente, o administrador pode revogar a autoridade de associação de empacotamento. Além disso, posteriormente, o administrador pode "vincular cópia" do pacote a outras coleções, para aumentar a simultaneidade, corresponder melhor aos seus padrões internos sobre onde os pacotes devem ser associados e assim por diante.
Quando você se conecta ao IBM Db2 para z/OS, o administrador Db2 pode executar as etapas a seguir.
Conceda autoridade para associar um novo pacote ao usuário com um dos seguintes comandos:
- CONCEDER BINDADD NO SISTEMA PARA <AUTHORIZATION_NAME>
- CONCEDER PACKADM EM <collection_name> PARA <authorization_name>
Usando o Power Query, conecte-se ao banco de dados IBM Db2 e recupere uma lista de esquemas, tabelas e exibições. O conector de banco de dados IBM Db2 do Power Query cria o pacote NULLID.MSCS001 automaticamente e, em seguida, concede a execução no pacote para todos os usuários.
Revogue a autoridade para associar um novo pacote ao usuário com um dos seguintes comandos:
- REVOQUE BINDADD DE <authorization_name>
- REVOGAR O PACKADM EM <COLLECTION_NAME> DE <authorization_name>
Quando você se conecta ao IBM Db2 para Linux, Unix ou Windows, o administrador Db2 pode executar as etapas a seguir.
CONCEDA BINDADD NO BANCO DE DADOS AO USUÁRIO <authorization_name>.
Usando o Power Query, conecte-se ao banco de dados IBM Db2 e recupere uma lista de esquemas, tabelas e exibições. O conector IBM Db2 do Power Query cria automaticamente o pacote NULLID.MSCS001 e, em seguida, concede permissão de execução do pacote ao público.
REVOGAR BINDADD NO BANCO DE DADOS DO <authorization_name> DE USUÁRIO.
CONCEDER EXECUÇÃO NO PACOTE <collection.package> AO USUÁRIO <authorization_name>.
Quando você se conecta ao IBM Db2 para i, o administrador Db2 pode executar as etapas a seguir.
WRKOBJ QSYS/CRTSQLPKG. Digite "2" para alterar a autoridade do objeto.
Alterar a autoridade de *EXCLUDE para PUBLIC ou <nome_de_autorização>.
Posteriormente, altere a autoridade de volta para *EXCLUDE.
SQLCODE erro de código -360
Ao tentar se conectar ao banco de dados IBM Db2, você pode encontrar o seguinte erro:
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
Essa mensagem de erro indica que você não colocou o valor certo para o nome do banco de dados.
Código de erro SQLCODE -1336
The specified host could not be found.
Verifique o nome duas vezes e confirme se o host está acessível. Por exemplo, use ping em um prompt de comando para tentar alcançar o servidor e garantir que o endereço IP esteja correto ou usar telnet para se comunicar com o servidor.
Erro de código SQLCODE -1037
Host is reachable, but is not responding on the specified port.
A porta é especificada no final do nome do servidor, separada por dois pontos. Se omitido, o valor padrão de 50000 será usado.
Para localizar a porta que o Db2 está usando para Linux, Unix e Windows, execute este comando:
db2 get dbm cfg | findstr SVCENAME
Procure na saída uma entrada para SVCENAME (e SSL_SVCENAME para conexões criptografadas TLS). Se esse valor for um número, essa será a porta. Caso contrário, faça referência cruzada ao valor com a tabela "serviços" do sistema. Normalmente, você pode encontrar essa tabela em /etc/services ou em c:\windows\system32\drivers\etc\services para Windows.
A captura de tela a seguir mostra a saída desse comando no Linux/Unix.
A captura de tela a seguir mostra a saída desse comando no Windows.
Determinar o nome do banco de dados
Para determinar o nome do banco de dados a ser usado:
No IBM i, execute
DSPRDBDIRE.
Uma das entradas tem uma Localização Remota de *LOCAL. Essa entrada é a que deve ser usada.
Determinar o número da porta
O driver da Microsoft conecta-se ao banco de dados usando o protocolo DRDA (Arquitetura de Banco de Dados Relacional Distribuído). A porta padrão para DRDA é a porta 446. Experimente esse valor primeiro.
Para localizar com certeza em qual porta o serviço DRDA está em execução:
Execute o comando IBM i
WRKSRVTBLE.Role a página para baixo até encontrar as entradas para o DRDA.
Para confirmar se o serviço DRDA está ativo e se ele está escutando essa porta, execute
NETSTAT.
Escolha a opção 3 (para IPv4) ou a opção 6 (para IPv6).
Pressione F14 para listar os números da porta em vez de nomes e role até encontrar a porta em questão. Ele deve ter uma entrada no estado "Escutar".