Prise en charge de la passerelle Power BI et de Report Builder pour les sources de données ODBC

S’APPLIQUE À : Power BI Report Builder Power BI Desktop

Cet article explique comment configurer des sources de données ODBC (Open Database Connectivity) dans la passerelle Power BI, et utiliser des sources de données ODBC dans Power BI Report Builder.

Le nom de source de données (DSN) et les chaînes de connexion du pilote sont pris en charge.

Notes

Power BI Report Builder est maintenant à 64 bits et ne fonctionnera plus avec les pilotes de 32 bits. Power BI Report Builder et Power BI Gateway nécessitent la version de 64 bits.

Avant d’installer la passerelle Power BI

Vous avez besoin de la version de février 2021 de la passerelle Power BI, ou une version ultérieure. Nous vous recommandons d’installer la passerelle sur un ordinateur distinct à partir de Power BI Report Builder ou de Power BI Desktop. Dans certains cas, l’utilisation du même ordinateur peut entraîner des problèmes.

Installer et configurer Power BI Report Builder pour une source de données ODBC

La dernière version de Power BI Report Builder contient déjà l’extension de données ODBC.

  1. Installez la dernière version de Power BI Report Builder.
  2. Installez le pilote ODBC de 64 bits que vous comptez utiliser avec Power BI Report Builder.

Installer la passerelle Power BI et configurer des sources de données ODBC

Procédez comme suit afin de configurer la passerelle Power BI pour des sources de données ODBC.

  1. Téléchargez la dernière passerelle Power BI.

    Notes

    Les passerelles personnelles ne sont pas prises en charge pour les rapports paginés car elles requièrent la prise en charge de DirectQuery.

  2. Reportez-vous à l’article qu’est-ce qu’une passerelle de données locale ? pour plus d’informations sur sa configuration.

  3. Installez le pilote ODBC 64 bits que vous comptez utiliser sur l’ordinateur passerelle.

    Notes

    Les noms de source de données de fichiers ne sont pas pris en charge. Si vous souhaitez utiliser un nom de source de données, créez un nom de source de données système 64 bits sur l’ordinateur passerelle.

  4. Pour configurer une source de données ODBC dans le service Power BI, sous Paramètres, sélectionnez Gérer les connexions et les passerelles :

    Screenshot of Manage gateway option under settings.

  5. Sélectionnez Nouveau en haut du ruban pour ajouter une nouvelle source de données. Choisissez ensuite Ajouter une source de données>Type de source de données ODBC :

    Screenshot of data source settings.

  6. Collez la chaîne de connexion (nom de source de données système ou pilote) et sélectionnez une méthode d’authentification. Pour les sources de données ODBC, les méthodes d’authentification prises en charge sont les suivantes :

    • De base
    • Windows

    Remarque

    La méthode d’authentification anonyme n’est pas prise en charge. Vous pouvez la sélectionner pour une source de données ODBC, mais vous recevrez un message « Une erreur inattendue s'est produite » similaire à la suivante, lors de l’affichage du rapport :

    Screenshot of error message that says anonymous authentication isn't supported.

  7. Lorsque vous cliquez sur le bouton Ajouter, le service Power BI se connecte à la source de données ODBC à l’aide de la chaîne de connexion et des informations d’identification fournies pour confirmer que la passerelle est capable de se connecter.

Exemples de chaînes de connexion ODBC

Voici quelques exemples de chaînes de connexion ODBC pour un nom de source de données système, ainsi que divers pilotes ODBC :

  • "dsn=Northwind"
  • "driver={Microsoft Access Driver (*.mdb, *.accdb)};dbq=c:\Data\Northwind.mdb"
  • "driver={SnowflakeDSIIDriver};warehouse=DEMO_WH;server=org.snowflakecomputing.com"
  • "driver={Amazon Redshift (x64)};server=org.us-west-2.redshift.amazonaws.com;database=dev"

Certains pilotes et certaines configurations peuvent ne pas prendre en charge toutes les méthodes d’authentification.

En plus de créer des sources de données ODBC dans la passerelle en amont, vous pouvez créer des sources de données ODBC à la demande lorsque vous téléchargez un rapport paginé. Si une source de données ODBC n’existe pas, le processus de téléchargement vous invite à en créer une :

Screenshot of Create data source prompt.

Problèmes connus

En général, toutes les limitations qui s’appliquent à l’utilisation de l’extension de données ODBC dans Power BI Report Builder s’appliquent également à l’utilisation des extensions de données ODBC dans la passerelle Power BI.

Voici quelques-unes des limitations connues :

  • Pour la plupart des pilotes ODBC, les paramètres DateTime requièrent des modifications du texte de la commande dans le jeu de données RDL pour convertir une valeur de paramètre DateTime au format approprié pour une source de données ODBC spécifique.

    Exemple de requête :
    SELECT * FROM DEMO_DB.PUBLIC.DATES WHERE DATE < DATE(?)

    Notes

    Certaines sources de données peuvent nécessiter une mise en forme spécifique. Vous pouvez utiliser une expression pour mettre en forme le paramètre dans l’exemple précédent. Par exemple : =Format(Parameters!Date.Value, "yyyy-MM-dd").

  • Pour certains pilotes ODBC, il existe une différence de comportement entre Gateway et Power BI Report Builder. Cela peut s’appliquer à tous, à certains ou à un seul pilote. Un exemple connu est que la requête Simba-BigQuery nécessite un cast du paramètre s’il ne s’agit pas d’un type de chaîne.

    Exemple de chaîne d’erreur : « une source de données utilisée par ce rapport a renvoyé une erreur. Une exception s’est produite lors de l’accès à l’ERREUR de source de données cible [42000] [Simba][BigQuery] (70) requête non valide : aucune signature correspondante pour l’opérateur = pour les types d’arguments : INT64, STRING. Signature prise en charge : ANY = ANY à [2:7] »

    Exemple de requête avec un cast correct pour une colonne INT64 :
    SELECT * FROM 'teamplz.Sample.SampleTable' WHERE DataID=CAST(? as INT64)

  • Tous les types de données spéciaux exposés par un pilote ODBC ou un backend donné qui ne sont pas simplement mappés à un type de données ADO.net ne sont pas pris en charge. C’est le cas du type de données Snowflake Array.

  • Les scénarios où les pilotes ODBC utilisent des procédures stockées sans paramètres ne sont généralement pas pris en charge. Toutefois, le pilote Amazon Redshift prend en charge les paramètres d'entrée et de sortie.