Підключення до SQL Server з Power Apps

Підключитися до SQL Server можна як в Azure, так і в базі даних локальний.

Примітка

Новостворені джерела даних SQL більше не мають префікса [dbo] , як у попередніх версіях Power Apps.

Щоб дізнатися більше, перегляньте статтю Поширені проблеми та способи їх вирішення для Power Apps.

Автоматичне створення програми

Залежно від того, який Power Apps інтерфейс ви використовуєте, зверніться до нового або класичного вигляду , щоб створити програму.

  1. Увійти до Power Apps.

  2. На головній сторінці виберіть односторінкову галерею або мобільний варіант із трьома екранами.

    • Щоб створити односторінкову галерею з адаптивним макетом, виберіть:
      • Почніть з даних > Виберіть зовнішні дані > З SQL.
      • Почніть з галереї дизайну > сторінки, пов’язаної із зовнішніми даними > з SQL.
    • Щоб створити триекранний мобільний додаток, виберіть Почати з шаблону > програми З SQL.
  3. Виберіть підключення SQL, а потім виберіть таблицю. Щоб вибрати інше підключення, виберіть ... переповнення для перемикання з’єднання або створення нового SQL-з’єднання.

    Примітка

    Одночасно відображається лише одне з’єднання.

  4. Завершивши, виберіть Створити додаток.

Виклик збережених процедур безпосередньо в Power Fx (попередній перегляд)

Ви можете безпосередньо викликати збережені процедури SQL Server, увімкнувши Power Fx перемикач попереднього перегляду збережених процедур SQL Server.

Примітка

Вихідні параметри не підтримуються.

  1. Перейдіть до розділу Налаштування > Попередній перегляд > майбутніх функцій.
  2. Пошук збережених процедур.
  3. Встановіть перемикач у положення Увімкніть для збережених процедур SQL Server.
  4. Збережіть і знову відкрийте додаток.

Знімок екрана, на якому показано перемикач збережених процедур SQL Server у положення Увімк.

Додавши підключення SQL Server до програми, тепер можна додавати таблиці та подання або збережені процедури. Ця функція також працює з безпечними неявними з’єднаннями.

Знімок екрана, на якому показано списки таблиць, подань і збережених процедур, які можна додати до додатка.

Якщо ви не бачите збережену процедуру відразу, швидше її знайти.

Після того, як ви виберете збережену процедуру, з’явиться дочірній вузол, і ви можете позначити збережену процедуру як Безпечну для використання для галерей і таблиць. Якщо ви поставите цей прапорець, то зможете призначити збережену процедуру як властивість «Елементи » для галерей, щоб таблиці використовувалися у вашому додатку.

Вмикайте цю опцію , лише якщо:

  1. Немає жодних побічних ефектів від виклику цієї процедури на вимогу, кілька разів, коли Power Apps оновлює контроль. Якщо використовується з властивістю Елементи галереї або таблиці, викликає збережену процедуру щоразу, Power Apps коли система визначає, що потрібне оновлення. Ви не можете контролювати, коли викликається збережена процедура.
  2. Обсяг даних, які ви повертаєте в збереженій процедурі, скромний ·. Виклики дій, такі як збережені процедури, не мають обмеження на кількість отриманих рядків. Вони не розміщуються автоматично з кроком у 100 записів, як-от табличні джерела даних, як-от таблиці або подання. Отже, якщо збережена процедура повертає занадто багато даних (багато тисяч записів), ваша програма може сповільнитися або аварійно завершити роботу. З міркувань продуктивності вам слід принести менше 2 000 записів.

Важливо

Схема значень, що повертаються збереженої процедури, повинна бути статичною. Це означає, що він не змінюється від дзвінка до дзвінка. Наприклад, якщо ви викликаєте збережену процедуру, і вона повертає дві таблиці, вона завжди повинна повертати дві таблиці. Якщо схема результатів динамічна, то не варто використовувати її з Power Apps. Наприклад, якщо ви викликаєте збережену процедуру, і вона іноді повертає одну таблицю, а іноді повертає дві таблиці, то вона не працюватиме належним чином Power Apps. Power Apps вимагає статичної схеми для цього виклику.

Приклад

Коли ви додаєте збережену процедуру, у проекті може відображатися кілька джерело даних.

Скріншот, на якому показані джерела даних SQL.

Щоб використовувати збережену процедуру в, Power Apps спочатку додайте перед ім’ям збереженої процедури ім’я з’єднувача, пов’язаного з нею, і ім’я збереженої процедури. «Paruntimedb.dbonewlibrarybook» у цьому прикладі ілюструє цю закономірність. Зауважте також, що при Power Apps введенні збереженої процедури, вона об’єднує повне ім’я. Таким чином, ’dbo.newlibrarybook’ стає ’dbonewlibrarybook’.

Не забувайте перетворювати значення належним чином, передаючи їх у збережену процедуру, якщо це необхідно, оскільки ви читаєте текстове значення в. Power Apps Наприклад, якщо ви оновлюєте ціле число в SQL, ви повинні перетворити текст у полі за допомогою ’Value()’.

Виклик збережених процедур безпосередньо.

Ви можете отримати доступ до збереженої процедури для властивості «Елементи » галереї після того, як оголосите її безпечною для інтерфейсу користувача. Посилайтеся на ім’я джерело даних та назву збереженої процедури, а потім на «Набори результатів». Ви можете отримати доступ до кількох результатів, посилаючись на набір повернутих таблиць, таких як Таблиця 1, Таблиця 2 тощо.

Наприклад, ваш доступ до збереженої процедури з джерело даних з назвою «Paruntimedb» зі збереженою процедурою з назвою «dbo.spo_show_all_library_books()» виглядатиме так:

Paruntimedb.dbospshowalllibrarybooks().ResultSets.Table1

Це наповнює галерею записами. Однак збережені процедури є доповненням поведінки дій до табличної моделі. Refresh() працює лише з табличними джерелами даних і не може бути використаний зі збереженими процедурами. Потім потрібно оновити галерею під час створення, оновлення або видалення запису. Коли ви використовуєте Submit() у формі для табличного джерело даних, він ефективно викликає Refresh() під обкладинками та оновлює галерею.

Щоб обійти це обмеження, скористайтеся змінною у властивості OnVisible для екрана та встановіть для збереженої процедури значення змінної.

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

А потім встановіть властивість галереї ’Items’ на ім’я змінної.

SP_Books

Потім, після створення, оновлення або видалення запису з викликом збереженої процедури, встановіть змінну знову. Це оновлює галерею.

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

Відомі проблеми

Джерела даних SQL більше не додають [dbo] префікс до назви джерело даних

Префікс [dbo] не служить жодній практичній меті Power Apps , оскільки джерело даних імена автоматично усуваються неоднозначно. Ця зміна не вплине на наявні джерела даних, але будь-які нещодавно додані джерела даних SQL не містять префікса.

Якщо вам потрібно оновити велику кількість формул в одній із програм, Power Apps утиліту Source File Pack і Unpack можна використовувати для глобального пошуку та заміни.

Примітка

Починаючи з версії 3.21054, ми автоматично оновлюємо пошкоджені посилання на застарілі імена до нового імені джерело даних після прочитання джерело даних.

Наступні кроки

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).