Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pro dotazování o parametrech, které obsahují objekty SQLServerPreparedStatement nebo SQLServerCallableStatement, implementuje Microsoft JDBC Driver pro SQL Server třídu SQLServerParameterMetaData. Tato třída obsahuje mnoho polí a metod, které vracejí informace ve formě jedné hodnoty.
Chcete-li vytvořit SQLServerParameterMetaData objektu, můžete použít getParameterMetaData metody SQLServerPreparedStatement a SQLServerCallableStatement třídy.
V následujícím příkladu je otevřené připojení k ukázkové databázi AdventureWorks2025 předáno funkci, metoda getParameterMetaData třídy SQLServerCallableStatement je použita k vrácení objektu SQLServerParameterMetaData, a pak se různé metody objektu SQLServerParameterMetaData používají k zobrazení informací o typu a režimu parametrů, které jsou obsaženy v uložené proceduře HumanResources.uspUpdateEmployeeHireInfo.
public static void getParameterMetaData(Connection con) {
try(CallableStatement cstmt = con.prepareCall("{call HumanResources.uspUpdateEmployeeHireInfo(?, ?, ?, ?, ?)}");) {
ParameterMetaData pmd = cstmt.getParameterMetaData();
int count = pmd.getParameterCount();
for (int i = 1; i <= count; i++) {
System.out.println("TYPE: " + pmd.getParameterTypeName(i) + " MODE: " + pmd.getParameterMode(i));
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
Poznámka:
Při použití třídy SQLServerParameterMetaData s připravenými příkazy existují určitá omezení.
S ovladačem Microsoft JDBC 6.0 (nebo vyšší) pro SQL Server: Pokud používáte SQL Server 2008 nebo 2008 R2, ovladač JDBC podporuje příkazy SELECT, DELETE, INSERT a UPDATE, pokud tyto příkazy neobsahují poddotazy nebo spojení.
Dotazy MERGE se také nepodporují pro třídu SQLServerParameterMetaData při použití SQL Serveru 2008 nebo 2008 R2. Pro SQL Server 2012 a vyšší verze jsou podporována metadata parametrů se složitými dotazy.
Načtení metadat parametrů pro šifrované sloupce se nepodporuje. S ovladačem Microsoft JDBC 4.1 nebo 4.2 pro SQL Server: Ovladač JDBC podporuje příkazy SELECT, DELETE, INSERT a UPDATE, pokud tyto příkazy neobsahují poddotazy nebo spojení. Dotazy MERGE také nejsou podporovány třídou SQLServerParameterMetaData.