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.
JDBC-illesztőprogram letöltése
Ez a cikk bemutatja, hogyan fejleszthet olyan Java-alkalmazásokat, amelyek a Microsoft Entra hitelesítési funkciót használják az SQL Serverhez készült Microsoft JDBC-illesztőprogrammal.
A Microsoft Entra-hitelesítéssel csatlakozhat az Azure SQL Database-hez, az Azure SQL Manged-példányhoz és az Azure Synapse Analyticshez a Microsoft Entra ID-identitások használatával. A Microsoft Entra-hitelesítéssel központilag kezelheti az adatbázis-felhasználók identitásait, és alternatívaként használhatja az SQL Server-hitelesítést. A JDBC-illesztő lehetővé teszi a Microsoft Entra hitelesítő adatainak megadását a JDBC kapcsolati sztringben az Azure SQL-hez való csatlakozáshoz. A Microsoft Entra-hitelesítés konfigurálásáról további információt Csatlakozás az Azure SQL-hez Microsoft Entra-hitelesítésihasználatával című témakörben talál.
A Microsoft Entra-hitelesítést támogató kapcsolati tulajdonságok az SQL ServerHez készült Microsoft JDBC-illesztőprogramban a következők:
-
hitelesítési: Ezzel a tulajdonságtal jelezheti, hogy melyik SQL-hitelesítési módszert használja a kapcsolathoz.
A lehetséges értékek a következők:
Active Directory Kezelt Identitás
- A 8.3.1-es illesztőprogram-verzió óta
authentication=ActiveDirectoryMSIhasználható azure SQL Database-adatbázishoz/Synapse Analyticshez való csatlakozáshoz egy Olyan Azure-erőforrásból, amelyen engedélyezve van az "Identitás" támogatás. Opcionálisan msiClientId is megadható a Connection/DataSource tulajdonságokban ezzel a hitelesítési móddal együtt. AmsiClientIdmezőnek tartalmaznia kell a kapcsolat létesítéséhez használandó átvételi token (accessToken) megszerzéséhez szükséges felügyelt identitás ügyfélazonosítóját. A 12.2-es illesztőprogram-verzió ótaauthentication=ActiveDirectoryManagedIdentityis használható azure SQL Database-hez/Synapse Analytics-hez való csatlakozáshoz egy Olyan Azure-erőforrásból, amelyen engedélyezve van az "Identitás" támogatás. A felügyelt identitás ügyfélazonosítója is beállítható ausertulajdonságban. További információ: Csatlakozás ActiveDirectoryManagedIdentity hitelesítési móddal.
- A 8.3.1-es illesztőprogram-verzió óta
Active Directory alapértelmezés
- A 12.2-es illesztőprogram-verzió óta
authentication=ActiveDirectoryDefaulthasználható az Azure SQL/Synapse Analyticshez való csatlakozáshoz az Azure Identity-ügyfélkódtárból származó DefaultAzureCredential keresztül. További információ: Csatlakozás ActiveDirectoryDefault hitelesítési móddal.
- A 12.2-es illesztőprogram-verzió óta
Active Directory-vel integrált
- A 6.0-s illesztőprogram-verzió óta
authentication=ActiveDirectoryIntegratedhasználható az Azure SQL/Synapse Analyticshez való csatlakozáshoz integrált hitelesítéssel. A hitelesítési mód használatához össze kell vonni a helyszíni Active Directory összevonási szolgáltatásokat (ADFS) a felhőbeli Microsoft Entra ID-vel. A beállítás után csatlakozhat úgy, hogy hozzáadja a natív könyvtármssql-jdbc_auth-<version>-<arch>.dll-t a Windows alkalmazás osztályútvonalához, vagy egy Kerberos-jegyet állít be a platformfüggetlen hitelesítési támogatás érdekében. Az Azure SQL/Azure Synapse Analytics szolgáltatáshoz anélkül férhet hozzá, hogy a rendszer hitelesítő adatokat kér a tartományhoz csatlakoztatott gépre való bejelentkezéskor. További információért lásd: Csatlakozás "ActiveDirectoryIntegrated" hitelesítési mód használatával.
- A 6.0-s illesztőprogram-verzió óta
ActiveDirectoryPassword
- A 6.0-s illesztőprogram-verzió óta
authentication=ActiveDirectoryPasswordhasználható az Azure SQL/Synapse Analyticshez való csatlakozáshoz a Microsoft Entra felhasználónévvel és jelszóval. További információ: Csatlakozás ActiveDirectoryPassword hitelesítési móddal.
- A 6.0-s illesztőprogram-verzió óta
Active Directory Interaktív
- A 9.2-es illesztőprogram-verzió óta
authentication=ActiveDirectoryInteractiveinteraktív hitelesítési folyamaton (többtényezős hitelesítésen) keresztül csatlakozhat egy Azure SQL/Synapse Analytics szolgáltatáshoz. További információ: Csatlakozás ActiveDirectoryInteractive hitelesítési móddal.
- A 9.2-es illesztőprogram-verzió óta
Active Directory Szolgáltatás Főszereplő
- A 9.2-es illesztőprogram-verzió óta
authentication=ActiveDirectoryServicePrincipalaz Azure SQL/Synapse Analyticshez való csatlakozáshoz használható az alkalmazás/ügyfél azonosító megadásával a userName tulajdonságban, valamint egy szolgáltatásnév-identitás titkos kulcsának megadásával a jelszótulajdonságban. További információért lásd: Csatlakozás ActiveDirectoryServicePrincipal hitelesítési móddal.
- A 9.2-es illesztőprogram-verzió óta
ActiveDirectorySzolgáltatásiFőtanúsítvány
- A 12.4-es illesztőprogram-verzió óta az Azure SQL Database-hez/Synapse Analyticshez történő csatlakozáshoz a
authentication=ActiveDirectoryServicePrincipalCertificatehasználható az alkalmazás/ügyfélazonosító megadásával a userName tulajdonságban, és a szolgáltatásnév tanúsítványának helyét aclientCertificatetulajdonságban megjelölve. További információért lásd: Csatlakozás ActiveDirectoryServicePrincipalCertificate hitelesítési móddal.
- A 12.4-es illesztőprogram-verzió óta az Azure SQL Database-hez/Synapse Analyticshez történő csatlakozáshoz a
SqlPassword
- A
authentication=SqlPasswordhasználatával userName/felhasználó- és jelszótulajdonságok használatával csatlakozhat egy SQL Serverhez.
- A
Nem meghatározott
- Használja
authentication=NotSpecified, vagy hagyja meg alapértelmezettként, ha egyik hitelesítési módszer sem szükséges.
- Használja
accessToken: Ezzel a kapcsolati tulajdonsággal csatlakozhat egy hozzáférési jogkivonattal rendelkező SQL Database-adatbázishoz.
accessTokencsak a DriverManager osztályban lévőgetConnection()metódus Tulajdonságok paraméterével állítható be. A kapcsolat URL-címében nem használható.
További információkért tekintse meg a hitelesítési tulajdonságot a Kapcsolat tulajdonságainak beállítása lapon.
Ügyfélbeállítási követelmények
Az alapvető illesztőprogram-rendszerkövetelményekmellett az alábbi hitelesítési módok több követelményt is támasztanak.
Az alábbi táblázat az egyes hitelesítési módokhoz és illesztőprogram-verziókhoz szükséges kódtár-függőségeket sorolja fel. A függőségek függőségei is szükségesek.
Jegyzet
Azokban az esetekben, amikor egy fő kiadás gyorsjavítása a fő kiadástól eltérő függőségi verzióval rendelkezik, a gyorsjavítás is megjelenik.
| Hitelesítési lehetőség | Illesztőprogram-verziók | Könyvtárfüggőségek |
|---|---|---|
ActiveDirectoryPasswordActiveDirectoryIntegrated |
6,0 |
Adal4j 1.3.0 |
ActiveDirectoryPasswordActiveDirectoryIntegrated |
6.2.2 - 6.4 |
Adal4j 1.4.0 |
ActiveDirectoryPasswordActiveDirectoryIntegrated |
7.0 |
Adal4j 1.6.0 |
ActiveDirectoryPasswordActiveDirectoryIntegrated |
7.2 |
Adal4j 1.6.3Client-Runtime-for-AutoRest 1.6.5 |
ActiveDirectoryPasswordActiveDirectoryIntegrated |
7.4 - 8.2 |
Adal4j 1.6.4Client-Runtime-for-AutoRest 1.7.0 |
ActiveDirectoryPasswordActiveDirectoryIntegrated |
8.4 |
Adal4j 1.6.5Client-Runtime-for-AutoRest 1.7.4 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
9,2 |
msal4j 1.7.1 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
9,4 |
msal4j 1.10.1 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
10,2 |
msal4j 1.11.0 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
11.2 |
msal4j 1.11.3 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
11.2.3 |
msal4j 1.13.0 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipal |
12.2 |
msal4j 1.13.3 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.2 |
azure-identity 1.7.0 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificate |
12.4 |
msal4j 1.13.8 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.4 |
azure-identity 1.9.0 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificate |
12,6 |
msal4j 1.14.1 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12,6 |
azure-identity 1.11.1 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificate |
12.6.3 |
msal4j 1.15.1 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.6.3 |
azure-identity 1.12.2 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificate |
12.6.4 |
msal4j 1.15.1 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.6.4 |
azure-identity 1.12.2 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificate |
12.8 |
msal4j 1.15.1 |
ActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.8 |
azure-identity 1.12.2 |
ActiveDirectoryPasswordActiveDirectoryIntegratedActiveDirectoryInteractiveActiveDirectoryServicePrincipalActiveDirectoryServicePrincipalCertificateActiveDirectoryManagedIdentityActiveDirectoryMSIActiveDirectoryDefault |
12.10 |
azure-identity 1.15.3 |
Csatlakozás ActiveDirectoryManagedIdentity hitelesítési móddal
Ez a hitelesítési mód a 7.2-es verziótól kezdve támogatott. A használatához adja meg a authentication=ActiveDirectoryMSIértéket. A 12.2-es verziótól kezdve authentication=ActiveDirectoryManagedIdentity is megadható.
Az ügyfélbeállítási követelményeifelsorolt könyvtárfüggőség-követelmények mellett ez a funkció a következő követelményekkel rendelkezik:
A céladatbázisnak saját adatbázis-felhasználóval kell rendelkeznie, CONNECT jogosultsággal. A tartalmazott felhasználónak az Azure-erőforrás rendszer által hozzárendelt felügyelt identitását vagy a felhasználó által hozzárendelt felügyelt identitását kell képviselnie, vagy azon csoportok egyikéhez kell tartoznia, amelyekhez a felügyelt identitás tartozik.
Az ügyfélkörnyezetnek Azure-erőforrásnak kell lennie, és engedélyeznie kell az "Identity" funkció támogatását. Az alábbi táblázat az egyes JDBC-illesztőprogramok által támogatott Azure-szolgáltatásokat sorolja fel:
Illesztőprogram verziója Kötelező függőségek Támogatott Azure-szolgáltatások 7.2 - 11.2 Egyik sem Azure App Service és Azure Functions
Azure-beli virtuális gépek12.2
12.4
12,6
12.8
12.10azure-identity1.7.0
azure-identity1.9.0
azure-identity1.11.1
azure-identity1.12.2
azure-identity1.15.3Azure App Service és Azure Functions
Azure Arc
Azure Cloud Shell
Azure Kubernetes Service
Azure Service Fabric
Azure-beli virtuális gépek
Azure-beli virtuálisgép-méretezési csoportok
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryManagedIdentity mód. Futtassa ezt a példát egy felügyelt identitáshoz konfigurált Azure-erőforrásból.
A példa futtatásához cserélje le a kiszolgáló/adatbázis nevét az ön kiszolgálója/adatbázisának a nevére a következő sorokban:
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name
ds.setDatabaseName("demo"); // replace with your database name
//Optional
ds.setMSIClientId("<managed_identity_client>"); // Replace with Client ID of user-assigned managed identity to be used
Példa ActiveDirectoryMSI hitelesítési mód használatára:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MsEntraMSI {
public static void main(String[] args) throws Exception {
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database name
ds.setAuthentication("ActiveDirectoryMSI");
// Optional
ds.setMSIClientId("<managed_identity_client_guid>"); // Replace with Client ID of user-assigned managed identity to be used
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryManagedIdentity mód.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraManagedIdentity {
public static void main(String[] args) throws Exception {
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database name
ds.setAuthentication("ActiveDirectoryManagedIdentity"); // ActiveDirectoryManagedIdentity for JDBC driver version v12.2.0+
// Optional
ds.setUser("<managed_identity_client>"); // Replace with Client ID of User-Assigned Managed Identity to be used
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ezek az Azure-beli virtuális gépeken található példák lekérnek egy hozzáférési jogkivonatot rendszer által hozzárendelt felügyelt identitásból vagy felhasználó által hozzárendelt felügyelt identitás (ha msiClientId vagy user van megadva egy felügyelt identitás ügyfélazonosítójával), és kapcsolatot hoz létre a lekért hozzáférési jogkivonat használatával. Ha létrejött a kapcsolat, a következő üzenetnek kell megjelennie:
You have successfully logged on as: <your Managed Identity username>
Csatlakozás ActiveDirectoryDefault hitelesítési móddal
A ActiveDirectoryDefault hitelesítési lehetőség az Azure Identity-ügyfélkódtár DefaultAzureCredential láncolt TokenCredential implementációját használja. A hitelesítési adat egyesíti a gyakran használt hitelesítési módszereket.
ActiveDirectoryDefault hitelesítés futásidejű függőséget igényel a felügyelt identitáshoz szükséges Azure Identity ügyfélkönyvtárra. A kódtár verziójának részleteiért lásd ügyfélbeállítási követelményeket.
Az alábbi táblázat az egyes JDBC-illesztőprogram-verziókhoz tartozó DefaultAzureCredential hitelesítőadat-láncot sorolja fel.
| Illesztőprogram verziója | azure-identity verzió |
DefaultAzureCredential lánc |
|---|---|---|
| 12.2 |
azure-identity 1.7.0 |
Környezet Felügyelt identitás IntelliJ Azure CLI (Az Azure parancssori felülete) Azure PowerShell |
| 12.4 |
azure-identity 1.9.0 |
Környezet Munkaterhelés identitás Felügyelt identitás Azure Developer CLI IntelliJ Azure CLI (Az Azure parancssori felülete) Azure PowerShell |
| 12,6 |
azure-identity 1.11.1 |
Környezet Munkaterhelés identitás Felügyelt identitás Azure Developer CLI IntelliJ Azure CLI (Az Azure parancssori felülete) Azure PowerShell |
| 12.8 |
azure-identity 1.12.2 |
Környezet Munkaterhelés identitás Felügyelt identitás Azure Developer CLI IntelliJ Azure CLI (Az Azure parancssori felülete) Azure PowerShell |
| 12.10 |
azure-identity 1.15.3 |
Környezet Munkaterhelés identitás Felügyelt identitás Azure Developer CLI IntelliJ Azure CLI (Az Azure parancssori felülete) Azure PowerShell |
Számos változó állítható be a Environment hitelesítő adatok konfigurálásához. A DefaultAzureCredential lánc konfigurálásával kapcsolatos részletekért, beleértve a Environment hitelesítő adatokat is, tekintse meg az előző táblázatban csatolt Azure-Identity-dokumentumok megfelelő verzióját.
A windowsos IntellijCredential használatához állítsa a INTELLIJ_KEEPASS_PATH környezeti változót a keepass fájl helyére. Például INTELLIJ_KEEPASS_PATH=C:\user\your\path\to\the\keepass\file.
Ha több bérlőt szeretne hozzáadni a DefaultAzureCredentialszámára, használja a ADDITIONALLY_ALLOWED_TENANTS környezeti változót. Ez a változó vesszővel tagolt listát használ. Például ADDITIONALLY_ALLOWED_TENANTS=<your-tenant-id-0>,<your-tenant-id-1>,<your-tenant-id-2>,...
Az alábbi példa bemutatja, hogyan használható a authentication=ActiveDirectoryDefault mód az AzureCliCredential keretein belül DefaultAzureCredential.
Először jelentkezzen be az Azure CLI-be a következő paranccsal.
az loginMiután sikeresen bejelentkezett az Azure CLI-be, futtassa a következő kódot.
import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; public class MSEntraDefault { public static void main(String[] args) throws Exception { SQLServerDataSource ds = new SQLServerDataSource(); ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name ds.setDatabaseName("demo"); // Replace with your database name ds.setAuthentication("ActiveDirectoryDefault"); try (Connection connection = ds.getConnection(); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) { if (rs.next()) { System.out.println("You have successfully logged on as: " + rs.getString(1)); } } } }
Csatlakozás ActiveDirectoryIntegrated hitelesítési móddal
A ActiveDirectoryIntegrated-hitelesítés kétféleképpen használható az SQL Serverhez készült Microsoft JDBC-illesztőprogramban:
- Windows rendszeren a letöltött csomagból
mssql-jdbc_auth-<version>-<arch>.dlla rendszer elérési útjának egy helyére másolhatók. - Ha nem tudja használni a DLL-t, a 6.4-es verziótól kezdve konfigurálhat Egy Kerberos-jegyet. Ez a módszer több platformon (Windows, Linux és macOS) is támogatott. További információ: Kerberos-jegy beállítása Windows, Linux és macOS rendszeren.
Győződjön meg arról, hogy rendelkezik a kliens beállítási követelményekszerint szükséges függőségi könyvtárakkal.
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryIntegrated mód. Ez a példa egy Microsoft Entra ID-val federált, tartományhoz csatolt gépen fut. A Windows-felhasználót képviselő adatbázis-felhasználónak léteznie kell az adatbázisban, és rendelkeznie kell a CONNECT engedéllyel.
Az alábbi példa futtatása előtt cserélje le a kiszolgáló/adatbázis nevét a saját kiszolgáló/adatbázis nevére a következő sorokban:
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name
ds.setDatabaseName("demo"); // replace with your database name
Az ActiveDirectoryIntegrated hitelesítési mód használatára szolgáló példa:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraIntegrated {
public static void main(String[] args) throws Exception {
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database name
ds.setAuthentication("ActiveDirectoryIntegrated");
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
A példa futtatása automatikusan a Kerberos-jegyet használja az ügyfélplatformról, és nincs szükség jelszóra. Ha létrejött a kapcsolat, a következő üzenetnek kell megjelennie:
You have successfully logged on as: <your domain user name>
Kerberos-jegy beállítása Windows, Linux és macOS rendszeren
Létre kell hoznia egy Kerberos-jegyet annak érdekében, hogy összekapcsolja az aktuális felhasználót egy Windows-tartományi fiókkal. Az alábbiakban összefoglaljuk a legfontosabb lépéseket.
Windows
Jegyzet
Windows rendszeren a mssql-jdbc_auth-<version>-<arch>.dll a letöltött csomagból használható a Kerberos-konfigurációs lépések helyett. Ezek a lépések csak akkor szükségesek, ha nem tudja használni a DLL-t.
A JDK kinittartalmaz, amellyel TGT-t kérhet le a Key Distribution Centerből (KDC) egy, a Microsoft Entra-azonosítóval összevont tartományhoz csatlakoztatott gépen.
1. lépés: Jegyet kiadó jegy lekérése
Futtatás: Windows
művelet:
- Használja a
kinit username@DOMAIN.COMPANY.COMparancsot a TGT lekéréséhez a KDC-ből, majd a rendszer megkéri a tartomány jelszavát. - A
klisthasználatával megtekintheti az elérhető jegyeket. Ha a kinit sikeres volt, akkor látnia kell egy jegyetkrbtgt/DOMAIN.COMPANY.COM@ DOMAIN.COMPANY.COM.
Jegyzet
Előfordulhat, hogy meg kell adnia egy
.inifájlt, amelyet a-Djava.security.krb5.confhasznál majd az alkalmazás a KDC megkereséséhez.- Használja a
Linux és macOS
Követelmények
Hozzáférés egy Windows tartományhoz csatlakoztatott géphez a Kerberos-tartományvezérlő lekérdezéséhez.
1. lépés: Kerberos KDC keresése
Futtatás: a Windows parancssorban
művelet:
nltest /dsgetdc:DOMAIN.COMPANY.COM(aholDOMAIN.COMPANY.COMa tartomány nevére van leképzve)mintakimeneti
DC: \\co1-red-dc-33.domain.company.com Address: \\2111:4444:2111:33:1111:ecff:ffff:3333 ... The command completed successfullyA tartományvezérlő neve kinyerésére vonatkozó információk, ebben az esetben
co1-red-dc-33.domain.company.com
2. lépés: A KDC konfigurálása a krb5.conf-ban
FuttatásLinuxon/macOS-en
Művelet: Szerkessze a
/etc/krb5.confegy tetszőleges szerkesztőben. Az alábbi kulcsok konfigurálása[libdefaults] default_realm = DOMAIN.COMPANY.COM [realms] DOMAIN.COMPANY.COM = { kdc = co1-red-dc-28.domain.company.com }Ezután mentse a
krb5.conffájlt, és lépjen kiJegyzet
A tartománynak MINDEN CAPS-ben kell lennie.
3. lépés: A jegylekérést engedélyező jegy tesztelése
- FuttatásLinuxon/macOS-en
-
művelet:
- Használja a
kinit username@DOMAIN.COMPANY.COMparancsot a TGT lekéréséhez a KDC-ből, majd a rendszer megkéri a tartomány jelszavát. - A
klisthasználatával megtekintheti az elérhető jegyeket. Ha a kinit sikeres volt, akkor látnia kell egy jegyetkrbtgt/DOMAIN.COMPANY.COM@ DOMAIN.COMPANY.COM.
- Használja a
Csatlakozás ActiveDirectoryPassword hitelesítési móddal
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryPassword mód.
A példa létrehozása és futtatása:
Győződjön meg arról, hogy rendelkezik a kliens beállítási követelményekszerint szükséges függőségi könyvtárakkal.
Keresse meg a következő kódsorokat, és cserélje le a kiszolgáló/adatbázis nevét a saját kiszolgáló/adatbázis nevére.
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name ds.setDatabaseName("demo"); // replace with your database nameKeresse meg a következő kódsorokat. Cserélje le a felhasználónevet annak a Microsoft Entra-felhasználónak a nevére, akihez csatlakozni szeretne.
ds.setUser("bob@example.com"); // replace with your username ds.setPassword("password"); // replace with your password
Példa ActiveDirectoryPassword hitelesítési mód használatára:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraUserPassword {
public static void main(String[] args) throws Exception{
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database
ds.setUser("bob@example.com"); // Replace with your username
ds.setPassword("password"); // Replace with your password
ds.setAuthentication("ActiveDirectoryPassword");
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha létrejött a kapcsolat, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your user name>
Csatlakozás ActiveDirectoryInteractive hitelesítési móddal
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryInteractive mód.
A példa létrehozása és futtatása:
Győződjön meg arról, hogy rendelkezik a kliens beállítási követelményekszerint szükséges függőségi könyvtárakkal.
Keresse meg a következő kódsorokat, és cserélje le a kiszolgáló/adatbázis nevét a saját kiszolgáló/adatbázis nevére.
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name ds.setDatabaseName("demo"); // replace with your database nameKeresse meg a következő kódsorokat. Cserélje le a felhasználónevet annak a Microsoft Entra-felhasználónak a nevére, akihez csatlakozni szeretne.
ds.setUser("bob@example.com"); // replace with your username
Példa ActiveDirectoryInteractive hitelesítési mód használatára:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraInteractive {
public static void main(String[] args) throws Exception{
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database
ds.setAuthentication("ActiveDirectoryInteractive");
// Optional login hint
ds.setUser("bob@example.com"); // Replace with your user name
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
A program futtatásakor megjelenik egy böngésző a felhasználó hitelesítéséhez. Az, hogy pontosan mit lát, attól függ, hogyan konfigurálja a Microsoft Entra-azonosítóját. Elképzelhető, hogy a többtényezős hitelesítés magában foglalja a felhasználónév, a jelszó, a PIN-kód vagy a második eszköz hitelesítésének kérését telefonon keresztül, de ez nem biztos. Ha ugyanabban a programban több interaktív hitelesítési kérés is történik, előfordulhat, hogy a későbbi kérések esetében a hitelesítési könyvtár nem is jelzi, hogy újra felhasználja-e a korábban gyorsítótárazott hitelesítési tokent.
A Microsoft Entra ID többtényezős hitelesítésre való konfigurálásáról további információt A Microsoft Entra többtényezős hitelesítés használatának első lépései a felhőbelicímű témakörben talál.
A párbeszédpanelek képernyőképeit A Microsoft Entra többtényezős hitelesítés használatacímű témakörben talál.
Ha a felhasználói hitelesítés sikeresen befejeződött, a böngészőben a következő üzenetnek kell megjelennie:
Authentication complete. You can close the browser and return to the application.
Ez az üzenet csak azt jelzi, hogy a felhasználói hitelesítés sikeres volt, de nem feltétlenül sikeres kapcsolat a kiszolgálóval. Az alkalmazáshoz való visszatéréskor, ha kapcsolat jön létre a kiszolgálóval, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your user name>
Csatlakozás ActiveDirectoryServicePrincipal hitelesítési móddal
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryServicePrincipal mód.
A példa létrehozása és futtatása:
Győződjön meg arról, hogy rendelkezik a kliens beállítási követelményekszerint szükséges függőségi könyvtárakkal.
Keresse meg a következő kódsorokat, és cserélje le a kiszolgáló/adatbázis nevét a saját kiszolgáló/adatbázis nevére.
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name ds.setDatabaseName("demo"); // replace with your database nameKeresse meg a következő kódsorokat. Cserélje le a
principalIdértékét annak a Microsoft Entra szolgáltatásnévnek az alkalmazásazonosítójára/ügyfélazonosítójára, amelyhez csatlakozni szeretne. Cserélje le aprincipalSecretértékét a titkos kódra.String principalId = "<service_principal_guid>"; // Replace with your Microsoft Entra service principal ID. String principalSecret = "..."; // Replace with your Microsoft Entra principal secret.Állítsa be a főazonosítót és a fő titkos kódot a 10.2-es és újabb verziókban
setUseréssetPasswordsegítségével, valamintsetAADSecurePrincipalIdéssetAADSecurePrincipalSecreta 9.4-es vagy régebbi verziókban.
Példa ActiveDirectoryServicePrincipal hitelesítési mód használatára:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraServicePrincipal {
public static void main(String[] args) throws Exception{
String principalId = "<service_principal_guid>"; // Replace with your Microsoft Entra service principal ID.
String principalSecret = "..."; // Replace with your Microsoft Entra principal secret.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database
ds.setAuthentication("ActiveDirectoryServicePrincipal");
ds.setUser(principalId); // setAADSecurePrincipalId for JDBC Driver 9.4 and below
ds.setPassword(principalSecret); // setAADSecurePrincipalSecret for JDBC Driver 9.4 and below
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha létrejött a kapcsolat, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your app/client ID>
Csatlakozás ActiveDirectoryServicePrincipalCertificate hitelesítési móddal
Az alábbi példa bemutatja, hogyan használható authentication=ActiveDirectoryServicePrincipalCertificate mód.
A példa létrehozása és futtatása:
Győződjön meg arról, hogy rendelkezik a kliens beállítási követelményekszerint szükséges függőségi könyvtárakkal.
Keresse meg a következő kódsorokat, és cserélje le a kiszolgáló/adatbázis nevét a saját kiszolgáló/adatbázis nevére.
ds.setServerName("msentra-managed-demo.database.windows.net"); // replace 'msentra-managed-demo' with your server name ds.setDatabaseName("demo"); // replace with your database nameKeresse meg a következő kódsorokat. Cserélje le a
principalIdértékét annak a Microsoft Entra szolgáltatásnévnek az alkalmazásazonosítójára/ügyfélazonosítójára, amelyhez csatlakozni szeretne. Cserélje le a szolgáltatásnév tanúsítványánakclientCertificatefájl elérési útjának értékét.String principalId = "<service_principal_guid>"; // Replace with your Microsoft Entra service principal ID. String clientCertificate = "..."; // Replace with the path to your Microsoft Entra service principal certificate.Ha a korábban említett tanúsítványnak jelszóra van szüksége, állítsa be a fő Titkot a 10.2-es vagy újabb verzióban a
setPassword, vagy a 9.4-es és régebbi verziókban asetAADSecurePrincipalSecrethasználatával.Ha a tanúsítványhoz társított titkos kulcs van, állítsa be a titkos kulcsot a
setClientKeyhasználatával. Ha ehhez a kulcshoz jelszó szükséges, állítsa be a titkos kulcs jelszavát asetClientKeyPasswordhasználatával.
Példa ActiveDirectoryServicePrincipalCertificate hitelesítési mód használatára:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class MSEntraServicePrincipalCertificate {
public static void main(String[] args) throws Exception{
String principalId = "<service_principal_guid>"; // Replace with your Microsoft Entra service principal ID.
String clientCertificate = "..."; // Replace with the path to your service principal certificate.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database
ds.setAuthentication("ActiveDirectoryServicePrincipalCertificate");
ds.setUser(principalId); // setAADSecurePrincipalId for JDBC Driver 9.4 and below
ds.setClientCertificate(clientCertificate);
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha létrejött a kapcsolat, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your app/client ID>
Csatlakozás hozzáférési jogkivonat használatával
Az alkalmazások/szolgáltatások lekérhetnek egy hozzáférési jogkivonatot a Microsoft Entra-azonosítóból, és ezzel csatlakozhatnak az Azure SQL Database-hez, az Azure SQL Managed Instance-hez és az Azure Synapse Analyticshez.
Jegyzet
accessToken csak a DriverManager osztályban lévő getConnection() metódus Tulajdonságok paraméterével állítható be. A kapcsolati sztringben nem használható. Az illesztőprogram 12.2-es verziójától kezdve a felhasználók implementálhatják és accessToken visszahívást biztosíthatnak az illesztőprogramnak a jogkivonatok megújításához a kapcsolatkészletezési forgatókönyvekben. A kapcsolatkészletezési forgatókönyvek megkövetelik, hogy a kapcsolatkészlet implementációja a szabványos JDBC-kapcsolatkészletezési osztályokat használja.
Az alábbi példa egy egyszerű Java-alkalmazást tartalmaz, amely hozzáférési jogkivonat-alapú hitelesítéssel csatlakozik az Azure-hoz.
A példa létrehozása és futtatása:
Hozzon létre egy alkalmazásfiókot a szolgáltatásához a Microsoft Entra ID-ben.
- Jelentkezzen be az Azure Portalra.
- Lépjen a(z) Microsoft Entra ID elemhez a bal oldali navigációs sávon.
- Válassza alkalmazás-regisztrációklehetőséget.
- Válassza a Új regisztrációlehetőséget.
- Írja be
mytokentestaz alkalmazás barátságos névként. - Hagyja meg az alapértelmezett beállítást a támogatott fióktípusoknál, amelyek használhatják az alkalmazást.
- Válassza a regisztert a alatt.
- Nincs szükség SIGN-ON URL-címre. Adjon meg bármilyen adatot:
https://mytokentest. - Válassza a legalján található
Create-t. - Amikor a Regiszterkiválasztásra kerül, az alkalmazás azonnal létrejön, és Ön az erőforrásoldalára kerül.
- Az Essentials mezőben keresse meg az alkalmazás (ügyfél) azonosítóját, és másolja ki. Az alkalmazás konfigurálásához később szüksége lesz erre az értékre.
- Válassza a Tanúsítványok, a & Titkok és a lehetőséget a navigációs panelen. Az Ügyfélkódok (0) lapon válassza Új titkos ügyfélkódlehetőséget. Adja meg a titkos kód leírását, és válasszon ki egy lejáratot (az alapértelmezett beállítás rendben van). Válassza ki a elemet, majd adja hozzá alul a-et. Fontos a lap elhagyása előtt másolja ki a létrehozott Érték az ügyfél titkos kódjához. Ez az érték nem tekinthető meg a lap elhagyása után. Ez az érték az ügyfél titkos kódja.
- Térjen vissza a Microsoft Entra-azonosító alkalmazásregisztrációk paneljére, és keresse meg a Végpontok lapot. Másolja az URL-címet a
OAuth 2.0 token endpointalatt. Ez az STS URL-címe.
Csatlakozzon az adatbázishoz Microsoft Entra-rendszergazdaként, és egy T-SQL-paranccsal építsen ki egy tartalmazott adatbázis-felhasználót az alkalmazásnévhez. A Microsoft Entra rendszergazda és egy zárt adatbázis-felhasználó létrehozásáról további információt a Microsoft Entra hitelesítés használatával történő csatlakozáscímű témakörben talál.
CREATE USER [mytokentest] FROM EXTERNAL PROVIDERAzon az ügyfélszámítógépen, amelyen a példát futtatja, töltse le a Microsoft Authentication Library (MSAL) for Java könyvtárat és annak függőségeit. Az MSAL csak az adott példa futtatásához szükséges. A példa a kódtár API-jait használja a hozzáférési jogkivonat Microsoft Entra-azonosítóból való lekéréséhez. Ha már rendelkezik hozzáférési jogkivonattal, kihagyhatja ezt a lépést, és eltávolíthatja a példa egy hozzáférési jogkivonatot lekérő szakaszát.
Az alábbi példában cserélje le az STS URL-címét, ügyfélazonosítóját, titkos ügyfélkulcsát, kiszolgálóját és adatbázisnevét az értékeire.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
// The microsoft-authentication-library-for-java is needed to retrieve the access token in this example.
import com.microsoft.aad.msal4j.ClientCredentialFactory;
import com.microsoft.aad.msal4j.ClientCredentialParameters;
import com.microsoft.aad.msal4j.ConfidentialClientApplication;
import com.microsoft.aad.msal4j.IAuthenticationResult;
import com.microsoft.aad.msal4j.IClientCredential;
public class MSEntraTokenBased {
public static void main(String[] args) throws Exception {
// Retrieve the access token from Microsoft Entra ID.
String spn = "https://database.windows.net/";
String stsurl = "https://login.microsoftonline.com/..."; // Replace with your STS URL.
String clientId = "<service_principal_guid>"; // Replace with your client ID.
String clientSecret = "..."; // Replace with your client secret.
String scope = spn + "/.default";
Set<String> scopes = new HashSet<>();
scopes.add(scope);
ExecutorService executorService = Executors.newSingleThreadExecutor();
IClientCredential credential = ClientCredentialFactory.createFromSecret(clientSecret);
ConfidentialClientApplication clientApplication = ConfidentialClientApplication
.builder(clientId, credential).executorService(executorService).authority(stsurl).build();
CompletableFuture<IAuthenticationResult> future = clientApplication
.acquireToken(ClientCredentialParameters.builder(scopes).build());
IAuthenticationResult authenticationResult = future.get();
String accessToken = authenticationResult.accessToken();
System.out.println("Access Token: " + accessToken);
// Connect with the access token.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replace with your server name.
ds.setDatabaseName("demo"); // Replace with your database name.
ds.setAccessToken(accessToken);
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha a kapcsolat sikeres, a következő üzenetnek kell megjelennie kimenetként:
Access Token: <your access token>
You have successfully logged on as: <your client ID>
Csatlakozás hozzáférési jogkivonat visszahívásával
A hozzáférési jogkivonat tulajdonságához hasonlóan a hozzáférési jogkivonat visszahívásával is regisztrálhat egy metódust, amely hozzáférési jogkivonatot biztosít az illesztőprogramnak. Ennek a visszahívásnak a tulajdonságon keresztüli előnye, hogy a visszahívás lehetővé teszi, hogy az illesztőprogram új hozzáférési jogkivonatot kérjen a jogkivonat lejártakor. Egy új kapcsolatot létrehozó kapcsolatkészlet például új jogkivonatot kérhet új lejárati dátummal. További információért lásd: Kapcsolatkészletezés használata.
Az alábbi példa az accessToken visszahívás implementálását és beállítását mutatja be.
import com.microsoft.aad.msal4j.IClientCredential;
import com.microsoft.aad.msal4j.ClientCredentialFactory;
import com.microsoft.aad.msal4j.ConfidentialClientApplication;
import com.microsoft.aad.msal4j.IAuthenticationResult;
import com.microsoft.aad.msal4j.ClientCredentialParameters;
import java.sql.Connection;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MSEntraAccessTokenCallback {
public static void main(String[] args) {
SQLServerAccessTokenCallback callback = new SQLServerAccessTokenCallback() {
@Override
public SqlAuthenticationToken getAccessToken(String spn, String stsurl) {
String clientSecret = "..."; // Replace with your client secret.
String clientId = "<service_principal_guid>"; // Replace with your client ID.
String scope = spn + "/.default";
Set<String> scopes = new HashSet<>();
scopes.add(scope);
try {
ExecutorService executorService = Executors.newSingleThreadExecutor();
IClientCredential credential = ClientCredentialFactory.createFromSecret(clientSecret);
ConfidentialClientApplication clientApplication = ConfidentialClientApplication
.builder(clientId, credential).executorService(executorService).authority(stsurl).build();
CompletableFuture<IAuthenticationResult> future = clientApplication
.acquireToken(ClientCredentialParameters.builder(scopes).build());
IAuthenticationResult authenticationResult = future.get();
String accessToken = authenticationResult.accessToken();
return new SqlAuthenticationToken(accessToken, authenticationResult.expiresOnDate().getTime());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
};
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replaces with your server name.
ds.setDatabaseName("demo"); // Replace with your database name.
ds.setAccessTokenCallback(callback);
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha a kapcsolat sikeres, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your client ID>
A 12.4-es verziótól kezdve a accessToken visszahívás a accessTokenCallbackClass kapcsolati karakterlánc tulajdonságon keresztül állítható be. Az alábbi példa bemutatja, hogyan állíthatja be a accessToken visszahívást ezzel a tulajdonságtal:
import com.microsoft.aad.msal4j.IClientCredential;
import com.microsoft.aad.msal4j.ClientCredentialFactory;
import com.microsoft.aad.msal4j.ConfidentialClientApplication;
import com.microsoft.aad.msal4j.IAuthenticationResult;
import com.microsoft.aad.msal4j.ClientCredentialParameters;
import java.sql.Connection;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MSEntraAccessTokenCallbackClass {
public static class AccessTokenCallbackClass implements SQLServerAccessTokenCallback {
@Override
public SqlAuthenticationToken getAccessToken(String spn, String stsurl) {
String clientSecret = "..."; // Replace with your client secret.
String clientId = "<service_principal_guid>"; // Replace with your client ID.
String scope = spn + "/.default";
Set<String> scopes = new HashSet<>();
scopes.add(scope);
try {
ExecutorService executorService = Executors.newSingleThreadExecutor();
IClientCredential credential = ClientCredentialFactory.createFromSecret(clientSecret);
ConfidentialClientApplication clientApplication = ConfidentialClientApplication
.builder(clientId, credential).executorService(executorService).authority(stsurl).build();
CompletableFuture<IAuthenticationResult> future = clientApplication
.acquireToken(ClientCredentialParameters.builder(scopes).build());
IAuthenticationResult authenticationResult = future.get();
String accessToken = authenticationResult.accessToken();
return new SqlAuthenticationToken(accessToken, authenticationResult.expiresOnDate().getTime());
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
public static void main(String[] args) throws Exception {
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("msentra-managed-demo.database.windows.net"); // Replaces with your server name.
ds.setDatabaseName("demo"); // Replace with your database name.
ds.setAccessTokenCallbackClass(AccessTokenCallbackClass.class.getName());
try (Connection connection = ds.getConnection();
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT SUSER_SNAME()")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
}
Ha a kapcsolat sikeres, a következő üzenetnek kell megjelennie kimenetként:
You have successfully logged on as: <your client ID>
Következő lépések
További információ a kapcsolódó fogalmakról az alábbi cikkekben: