Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby wysłać zapytanie do obiektu SQLServerPreparedStatement lub SQLServerCallableStatement o parametrach, które zawierają, sterownik JDBC firmy Microsoft dla programu SQL Server implementuje klasę SQLServerParameterMetaData . Ta klasa zawiera wiele pól i metod, które zwracają informacje w postaci pojedynczej wartości.
Aby utworzyć obiekt SQLServerParameterMetaData, można użyć metod getParameterMetaData klas SQLServerPreparedStatement i SQLServerCallableStatement.
W poniższym przykładzie do funkcji jest przekazywane otwarte połączenie z przykładową bazą danych AdventureWorks2025. Metoda getParameterMetaData klasy SQLServerCallableStatement służy do zwracania obiektu SQLServerParameterMetaData, a następnie różne metody tego obiektu są używane do wyświetlania informacji o typie i trybie parametrów zawartych w procedurze składowanej 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();
}
}
Uwaga / Notatka
Istnieją pewne ograniczenia dotyczące używania klasy SQLServerParameterMetaData z przygotowanymi instrukcjami.
W przypadku sterownika JDBC firmy Microsoft 6.0 (lub nowszego) dla programu SQL Server: w przypadku korzystania z programu SQL Server 2008 lub 2008 R2 sterownik JDBC obsługuje instrukcje SELECT, DELETE, INSERT i UPDATE, o ile te instrukcje nie zawierają podzapytania i/lub sprzężeń.
Zapytania MERGE nie są również obsługiwane dla klasy SQLServerParameterMetaData w przypadku korzystania z programu SQL Server 2008 lub 2008 R2. W przypadku programu SQL Server 2012 i nowszych wersji obsługiwane są metadane parametrów w złożonych zapytaniach.
Pobieranie metadanych parametrów dla zaszyfrowanych kolumn nie jest obsługiwane. W przypadku sterownika JDBC firmy Microsoft 4.1 lub 4.2 dla programu SQL Server: sterownik JDBC obsługuje instrukcje SELECT, DELETE, INSERT i UPDATE, o ile te instrukcje nie zawierają podzapytania i/lub sprzężeń. Zapytania MERGE nie są również obsługiwane dla klasy SQLServerParameterMetaData.