DirectQuery engedélyezése ODBC-alapú összekötőhöz
Az M beépített Odbc.DataSource függvényének használatával egyéni összekötőket hozhat létre olyan adatforrásokhoz, amelyek már rendelkeznek ODBC-illesztővel, és/vagy támogatják az SQL-lekérdezések szintaxisát. Az Odbc.DataSource függvény körbefuttatásával az összekötő örökölheti az alapértelmezett lekérdezés-összecsukási viselkedést az illesztőprogram által jelentett képességek alapján. Ez a viselkedés lehetővé teszi az M-motor számára, hogy a Felhasználó által a Power Query felületén meghatározott szűrők és egyéb átalakítások alapján hozzon létre SQL-utasításokat anélkül, hogy ezt a logikát magának az összekötőnek kellene megadnia.
Az ODBC-bővítmények opcionálisan engedélyezhetik a DirectQuery módot, így a Power BI a felhasználó adatmodelljének előzetes gyorsítótárazása nélkül is dinamikusan generálhat lekérdezéseket futásidőben.
Megjegyzés
A DirectQuery támogatásának engedélyezése növeli az összekötő nehézségi és összetettségi szintjét. Ha a DirectQuery engedélyezve van, a Power BI megakadályozza, hogy az M motor kompenzálja azokat a műveleteket, amelyeket nem lehet teljes mértékben leküldni az alapul szolgáló adatforrásba.
Ez a cikk feltételezi, hogy ismeri az egyszerű egyéni összekötők létrehozását.
Tekintse meg az SqlODBC-mintát a következő szakaszokban található legtöbb példakódhoz. További minták az ODBC-minták könyvtárában találhatók.
Az M motor két ODBC-vel kapcsolatos adatforrásfüggvényt biztosít: Odbc.DataSource és Odbc.Query.
Az Odbc.DataSource függvény egy alapértelmezett navigációs táblát biztosít a rendszer összes adatbázisával, táblájával és nézetével. Ez a függvény támogatja a lekérdezések összecsukását is, és számos testreszabási lehetőséget tesz lehetővé. A legtöbb ODBC-alapú bővítmény ezt a függvényt használja elsődleges bővíthetőségi függvényként. A függvény két argumentumot fogad el– egy kapcsolati sztring és egy beállításrekordot a viselkedés felülbírálásához.
Az Odbc.Query függvény lehetővé teszi AZ SQL-utasítások ODBC-illesztőn keresztüli végrehajtását. Átengedi a lekérdezések végrehajtását. Az Odbc.DataSource függvénytől eltérően nem biztosít lekérdezés-összecsukási funkciót, és megköveteli, hogy az SQL-lekérdezéseket az összekötő (vagy a végfelhasználó) adja meg. Egyéni összekötő létrehozásakor ezt a függvényt általában belsőleg használják lekérdezések futtatására, hogy lekérje azokat a metaadatokat, amelyek esetleg nem lesznek elérhetők a szokásos ODBC-csatornákon keresztül. A függvény két argumentumot fogad el: egy kapcsolati sztring és egy SQL-lekérdezést.
Az egyéni összekötők tetszőleges számú függvényargumentumot elfogadhatnak. Ha azonban összhangban szeretne maradni a Power Query beépített adatforrásfüggvényeivel, a következő irányelvek ajánlottak:
A kiszolgálóval való kapcsolat létrehozásához szükséges minimális paraméterkészlet megkövetelése. Minél kevesebb paramétert kell megadniuk a végfelhasználóknak, annál egyszerűbb az összekötő használata.
Bár a paraméterek meghatározhatók rögzített számú értékkel (például egy legördülő listával a felhasználói felületen), a paramétereket a rendszer a felhasználó hitelesítése előtt adja meg. A felhasználó hitelesítése után programozott módon felderíthető értékeknek (például katalógusnak vagy adatbázisnévnek) a Kezelőn keresztül kell kiválasztaniuk. Az Odbc.DataSource függvény alapértelmezett viselkedése a katalógus (adatbázis), séma és táblanevekből álló hierarchikus navigációs táblázat visszaadása. Ez a viselkedés azonban felülírható az összekötőn belül.
Ha úgy érzi, hogy a felhasználók általában tudják, hogy milyen értékeket kell megadniuk a Kezelőben kiválasztott elemekhez (például az adatbázis nevéhez), tegye kötelezővé ezeket a paramétereket. A programozott módon felderíthető paramétereket nem szükséges megadni.
A függvény utolsó paramétere egy "options" (beállítások) nevű opcionális rekord. Ez a paraméter általában lehetővé teszi a haladó felhasználók számára az ODBC-vel kapcsolatos gyakori tulajdonságok beállítását (például
CommandTimeout
), az összekötőre jellemző viselkedési felülbírálások beállítását, és lehetővé teszi a jövőbeli bővíthetőséget anélkül, hogy ez hatással lenne a függvény visszamenőleges kompatibilitására.A biztonsággal/hitelesítő adatokkal kapcsolatos argumentumoknak soha nem kell az adatforrásfüggvény paramétereinek részét képezniük, mivel a kapcsolódási párbeszédpanelen megadott értékek megmaradnak a felhasználó lekérdezésében. A hitelesítő adatokkal kapcsolatos paramétereket az összekötő által támogatott hitelesítési módszerek részeként kell megadni.
Alapértelmezés szerint az adatforrásfüggvény összes szükséges paramétere bele van számítva a felhasználói hitelesítő adatok azonosításához használt adatforrás elérési útjának értékébe.
Bár a beépített Odbc.DataSource függvény felhasználói felülete egy legördülő menüt biztosít, amely lehetővé teszi a felhasználó számára egy DSN kiválasztását, ez a funkció nem érhető el bővíthetőségen keresztül. Ha az adatforrás konfigurációja elég összetett ahhoz, hogy teljes mértékben testre szabható konfigurációs párbeszédpanelt igényeljen, javasoljuk, hogy a végfelhasználók előre konfiguráljanak egy rendszer DSN-t, és a függvény szövegmezőként vegye fel a DSN-nevet.