Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megoldások az SQL Server gyakori csatlakozási, hitelesítési és entitáskonfigurációs problémáira a Data API Builderben.
Gyakori kérdések
Mi az SQL Server támogatása a DAB-ban?
A Data API Builder relációs adatbázis-háttérrendszerként támogatja a Microsoft SQL Servert és az Azure SQL-t. A DAB a Microsoft.Data.SqlClient illesztőprogram használatával csatlakozik, és REST- és GraphQL-kéréseket fordít T-SQL-lekérdezésekké. A helyszíni SQL Server-példányok és az Azure SQL-adatbázis egyaránt támogatott.
Milyen kapcsolati sztringformátumot használ az SQL Server?
A DAB az ADO.NET stílusú kapcsolati karakterláncokat használja az SQL Serverhez. Egy tipikus sztring így néz ki: Server=localhost,1433;Database=mydb;User Id=sa;Password=yourpassword;TrustServerCertificate=True;. Állítsa be a kapcsolati sztringet a data-source.connection-string mezőben, vagy adja át a --connection-string opcióval a dab init-ban/-ben.
Milyen hitelesítési módok támogatottak?
A DAB támogatja az SQL-hitelesítést (felhasználónév és jelszó), a Windows integrált hitelesítést és a Microsoft Entra-hitelesítést (korábban Azure Active Directory) az Azure SQL-hez. Az Entra-hitelesítés használatához állítsa be a Authentication=Active Directory Default vagy a Active Directory Managed Identity kapcsolati sztringben, és győződjön meg arról, hogy a kezelt identitás vagy szolgáltatási principal adatbázis-hozzáféréssel rendelkezik.
Gyakori problémák
Nem lehet csatlakozni az SQL Server-tárolóhoz
Tünet: A DAB nem indul el kapcsolati hibával, például A network-related or instance-specific error occurred.
Ok: Az SQL Server tárolóportja nincs megfelelően megfeleltetve, a gazdagép neve hibás, vagy a tároló még nem áll készen a kapcsolatok elfogadására.
Felbontás: Ellenőrizze, hogy a tároló fut-e a következővel docker ps: . Ellenőrizze a port-hozzárendelést (alapértelmezett 1433), és használja a localhost,1433 a kapcsolati karakterláncban. Adja hozzá TrustServerCertificate=True , ha önaláírt tanúsítványt használ. Ha a tároló most indult el, várjon néhány másodpercet, amíg az SQL Server inicializálja a DAB-t.
A felhasználó bejelentkezése sikertelen
Tünet: A DAB-naplók Login failed for user 'sa' vagy hasonló hitelesítési hibát mutatnak.
Okoz: A kapcsolati sztring felhasználóneve, jelszava vagy hitelesítési módja nem egyezik az SQL Server konfigurációval. Előfordulhat, hogy az SQL Server csak Windows-hitelesítés módban is fut.
Felbontás: Ellenőrizze, hogy a hitelesítő adatok egyeznek-e a tároló vagy kiszolgáló létrehozásakor beállított hitelesítő adatokkal. Tároló használata esetén ellenőrizze a környezeti változót SA_PASSWORD . Ha egy meglévő példányon szeretné engedélyezni az SQL-hitelesítést, állítsa a kiszolgáló hitelesítési módját SQL Server és Windows-hitelesítési módra az SQL Server Management Studióban a Kiszolgáló tulajdonságainak > biztonsága területen.
Entitás nem található hibaüzenet
Tünet: A REST- vagy GraphQL-kérelmek olyan vagy sémahibát 404 adnak vissza, amely azt jelzi, hogy az entitás forrástáblája nem létezik.
Okoz: Az entitás source mezőjében szereplő táblanév vagy sémaelőtag nem egyezik meg a tényleges adatbázis-objektummal. Az SQL Server-táblanevek alapértelmezés szerint nem érzékenyek a kis- és nagybetűkre, de a sémaelőtagnak (például dbo) jelen kell lennie, ha az alapértelmezett sémát nem használja.
Felbontás: Ellenőrizze az source értéket.dab-config.json Használjon teljesen minősített nevet, például dbo.Products. Futtassa SELECT * FROM INFORMATION_SCHEMA.TABLES a céladatbázisban a táblanév és a séma megerősítéséhez.
Tűzfal vagy hálózati hiba az Azure SQL-hez való csatlakozáskor
Tünet: Az Azure SQL Database-hez való kapcsolatok időtúllépést vagy hibával visszatérnek Cannot open server ... requested by the login.
Okoz: Az azure SQL Server tűzfalszabályai nem engedélyezik az ügyfél IP-címét, vagy az Azure szolgáltatás hozzáférési beállítása le van tiltva.
Felbontás: Az Azure Portalon keresse meg az SQL Server-erőforrást, és válassza a Hálózatkezelés lehetőséget. Adja hozzá az ügyfél IP-címét a tűzfal engedélyezési listájához, vagy engedélyezze az Azure-szolgáltatások és -erőforrások számára a kiszolgáló elérését , ha a DAB az Azure-ban fut. A felügyelt identitás hitelesítéséhez ellenőrizze, hogy az identitás adatbázis-felhasználóként CREATE USER [identity-name] FROM EXTERNAL PROVIDERlett-e hozzáadva.
A JSON-oszlopok nem észlelhetők automatikusan
Tünet: A JSON-adatokat tároló JSON vagy NVARCHAR(MAX) típusú oszlopok nem lesznek strukturált objektumként elérhetővé téve az API-sémában.
Okoz: A Data API Builder még nem észleli automatikusan a JSON-oszlopokat az Azure SQL-ben. Ez egy ismert korlátozás, amelyet a GitHub 444- ik számában észleltek.
Megoldás: Jelenleg nincs áthidaló megoldás. Az oszlop egyszerű sztringértékként jelenik meg. Kövesse a GitHub-problémát a natív JSON-oszlop támogatásának hozzáadásakor megjelenő frissítésekért.