Partager via


Se connecter à SQL Server depuis Power Apps

Vous pouvez vous connecter à SQL Server dans Azure ou dans une base de données locale.

Notes

Les nouvelles sources de données SQL créées ne sont plus précédées du préfixe [dbo], comme dans les versions précédentes de Power Apps.

Pour plus d’informations, consultez Problèmes communs et résolutions pour Power Apps.

Générer une application automatiquement

Selon l’interface Power Apps que vous utilisez, référencez la nouvelle apparence ou à l’apparence classique pour créer une application.

  1. Connectez-vous à Power Apps.

  2. Sur la page Accueil, sélectionnez l’option galerie à une seule page ou mobile à trois écrans :

    • Pour créer une application de galerie d’une seule page avec une disposition dynamique, choisissez l’une des options suivantes :
      • Commencer avec des données > Sélectionner des données externes > Depuis SQL.
      • Commencer par une conception de page > Galerie connectée à des données externes > Depuis SQL.
    • Pour créer une application mobile à trois écrans, sélectionnez Commencer avec un modèle d’application > De SQL.
  3. Sélectionnez votre connexion SQL, puis sélectionnez une table. Pour choisir une connexion différente, sélectionnez le menu de débordement ... pour changer de connexion ou créer une nouvelle connexion SQL.

    Notes

    Une connexion à la fois.

  4. Quand vous avez terminé, sélectionnez Créer une application.

Appeler des procédures stockées directement dans Power Fx (version préliminaire)

Vous pouvez appeler directement des procédures stockées SQL Server depuis Power Fx en activant le bouton bascule en version préliminaire des procédures stockées SQL Server.

Notes

Les paramètres de sortie ne sont pas pris en charge.

  1. Accédez à Paramètres > Fonctionnalités à venir > Version préliminaire.
  2. Recherchez procédures stockées.
  3. Définissez le bouton bascule sur Activé pour Procédures stockées SQL Server.
  4. Enregistrez et rouvrez l’application.

Capture d’écran montrant que le bouton bascule des procédures stockées SQL Server est défini sur Activé.

Lorsque vous ajoutez une connexion SQL Server à votre application, vous pouvez désormais ajouter des tables et des vues ou des procédures stockées. Cette fonctionnalité fonctionne également avec des connexions implicites sécurisées.

Capture d’écran affichant les listes de tables, de vues et de procédures stockées qui peuvent être ajoutées à votre application.

Si vous ne voyez pas immédiatement votre procédure stockée, il est plus rapide de la rechercher.

Une fois que vous avez sélectionné une procédure stockée, un nœud enfant apparaît et vous pouvez désigner la procédure stockée comme Utilisation sécurisée pour les galeries et les tables. Si vous cochez cette option, vous pouvez attribuer votre procédure stockée en tant que propriété Éléments pour les galeries des tables à utiliser dans votre application.

Activez cette option uniquement si :

  1. Il n’y a aucun effet secondaire à appeler cette procédure à la demande, plusieurs fois, chaque fois Power Apps actualise le contrôle. Lorsqu’elle est utilisée avec une propriété Éléments d’une galerie ou d’une table, Power Apps appelle la procédure stockée chaque fois que le système détermine qu’une actualisation est nécessaire. Vous ne pouvez pas contrôler le moment où la procédure stockée est appelée.
  2. La quantité de données que vous renvoyez dans la procédure stockée est modeste. Les appels à l’action, tels que les procédures stockées, n’ont pas de limite au nombre de lignes récupérées. Ils ne sont pas automatiquement paginés en incréments de 100 enregistrements comme les sources de données tabulaires telles que les tables ou les vues. Ainsi, si la procédure stockée renvoie trop de données (plusieurs milliers d’enregistrements), votre application pourrait ralentir ou se bloquer. Pour des raisons de performances, vous devez importer moins de 2 000 enregistrements.

Important

Le schéma des valeurs renvoyées de la procédure stockée doit être statique. Cela signifie qu’il ne change pas d’un appel à l’autre. Par exemple, si vous appelez une procédure stockée et qu’elle renvoie deux tables, elle doit toujours renvoyer deux tables. Si le schéma des résultats est dynamique, vous ne devez pas l’utiliser avec Power Apps. Par exemple, si vous appelez la procédure stockée et qu’elle renvoie parfois une table et parfois deux tables, elle ne fonctionnera pas correctement dans Power Apps. Power Apps nécessite un schéma statique pour cet appel.

Exemple

Lorsque vous ajoutez une procédure stockée, vous pouvez voir plusieurs source de données dans votre projet.

Capture d’écran montrant les sources de données SQL.

Pour utiliser une procédure stockée dans Power Apps, ajoutez d’abord au nom de la procédure stockée le nom du connecteur qui lui est associé et le nom de la procédure stockée. « Paruntimedb.dbonenewlibrarybook » dans l’exemple illustre ce modèle. Notez également que lorsque Power Apps incorpore la procédure stockée, il concatène le nom complet. Ainsi, « dbo.newlibrarybook » devient « dbonelibrarybook ».

N’oubliez pas de convertir les valeurs de manière appropriée lorsque vous les transmettez dans votre procédure stockée, si nécessaire, puisque vous lisez à partir d’une valeur de texte dans Power Apps. Par exemple, si vous mettez à jour un entier dans SQL, vous devez convertir le texte dans le champ à l’aide de « Value() ».

Appel direct des procédures stockées.

Utilisation d’une galerie

Vous pouvez accéder à une procédure stockée pour la propriété Items d’une galerie après l’avoir déclarée comme sûre pour l’interface utilisateur. Référencez le nom de la source de données et le nom de la procédure stockée suivi de « ResultSets ». Vous pouvez accéder à plusieurs résultats en référençant l’ensemble de tables renvoyées, telles que Table 1, Table 2, etc.

Par exemple, votre accès à une procédure stockée à partir d’une source de données nommée « Paruntimedb » avec une procédure stockée nommée « dbo.spo_show_all_library_books() » ressemblerait à ce qui suit.

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

Cela remplit la galerie avec des enregistrements. Cependant, les procédures stockées sont un ajout de comportements d’action au modèle tabulaire. Refresh() fonctionne uniquement avec des sources de données tabulaires et ne peut pas être utilisé avec des procédures stockées. Ensuite, vous devez actualiser la galerie lorsqu’un enregistrement est créé, mis à jour ou supprimé. Lorsque vous utilisez Submit() dans un formulaire pour une source de données tabulaire, il appelle effectivement Refresh() en incognito et met à jour la galerie.

Pour contourner cette limitation, utilisez une variable dans la propriété OnVisible pour l’écran et définissez la procédure stockée sur la variable.

Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

Ensuite, définissez la propriété « Items » de la galerie sur le nom de la variable.

SP_Books

Ensuite, après avoir créé, mis à jour ou supprimé un enregistrement avec un appel à la procédure stockée, définissez à nouveau la variable. Cela met à jour la galerie.

Paruntimedb.dbonewlibrarybook({   
  book_name: DataCardValue3_2.Text, 
  author: DataCardValue1_2.Text,
    ...
});
Set(SP_Books, Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1);

Problèmes connus

Les sources de données SQL n’ajoutent plus de préfixe [dbo] au nom la source de données

Le préfixe [dbo] n’a aucune utilité pratique dans Power Apps car les noms des sources de données sont automatiquement différenciés. Les sources de données existantes ne sont pas affectées par ce changement, mais les sources de données SQL nouvellement ajoutées n’incluent pas le préfixe.

Si vous devez mettre à jour un grand nombre de formules dans l’une de vos applications, l’utilitaire pour décompresser et compresser de fichiers source Power Apps peut être utilisé pour effectuer une recherche et un remplacement globaux.

Notes

À partir de la version 3.21054, nous mettrons automatiquement à jour les références de noms hérités corrompus vers le nouveau nom de la source de données après la lecture de la source de données.

Étapes suivantes

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).