Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Microsoft JDBC Driver for SQL Server suporta interfaces que permitem criar um proxy de uma classe e wrappers que permitem aceder a extensões da API JDBC específicas do Microsoft JDBC Driver para SQL Server através de uma interface proxy.
Pacotes
O Driver Microsoft JDBC para SQL Server suporta a interface java.sql.Wrapper. Esta interface fornece um mecanismo para aceder a extensões da API JDBC específicas do Microsoft JDBC Driver para SQL Server através de uma interface proxy.
A interface java.sql.Wrapper define dois métodos: isWrapperFor e unwrap. O método isWrapperFor verifica se o objeto de entrada especificado implementa esta interface. O método unwrap devolve um objeto que implementa esta interface para permitir o acesso ao Microsoft JDBC Driver para métodos específicos do SQL Server.
os métodos isWrapperFor e unwrap são expostos da seguinte forma:
- Método isWrapperFor (SQLServerCallableStatement)
- Método unwrap (SQLServerCallableStatement)
- isWrapperFor Method (SQLServerConnectionPoolDataSource)
- unwrap Method (SQLServerConnectionPoolDataSource)
- Método isWrapperFor (SQLServerDataSource)
- unwrap Method (SQLServerDataSource)
- Função isWrapperFor (SQLServerPreparedStatement)
- unwrap Method (SQLServerPreparedStatement)
- Método isWrapperFor (SQLServerStatement)
- unwrap Method (SQLServerStatement)
- isWrapperFor Method (SQLServerXADataSource)
- unwrap Method (SQLServerXADataSource)
Interfaces
A partir do SQL Server JDBC Driver 3.0, estão disponíveis interfaces para um servidor de aplicações aceder a um método específico do driver a partir da classe associada. O servidor de aplicações pode envolver a classe criando um proxy, expondo o driver Microsoft JDBC para funcionalidades específicas do SQL Server a partir de uma interface. O Microsoft JDBC Driver para SQL Server suporta interfaces que têm o Microsoft JDBC Driver para métodos e constantes específicos do SQL Server, para que um servidor de aplicações possa criar um proxy da classe.
As interfaces derivam de interfaces Java padrão, pelo que pode usar o mesmo objeto depois de desembrulhado para aceder a funcionalidades específicas do driver ou funcionalidades genéricas do Microsoft JDBC Driver for SQL Server.
As seguintes interfaces são adicionadas:
- ISQLServerCallableStatement
- ISQLServerConnection
- ISQLServerDataSource
- ISQLServerPreparedStatement
- ISQLServerResultSet
- ISQLServerStatement
Example
Description
Este exemplo demonstra como aceder a um driver Microsoft JDBC para uma função específica do SQL Server a partir de um objeto DataSource. Esta classe DataSource pode ter sido encapsulada por um servidor de aplicações. Para aceder à função ou constante específica do driver JDBC, pode desfazer a fonte de dados numa interface ISQLServerDataSource e usar as funções declaradas nessa interface.
Código
import javax.sql.*;
import java.sql.*;
import com.microsoft.sqlserver.jdbc.*;
public class UnWrapTest {
public static void main(String[] args) {
// This is a test. This DataSource object could be something from an appserver
// which has wrapped the real SQLServerDataSource with its own wrapper
SQLServerDataSource ds = new SQLServerDataSource();
checkSendStringParametersAsUnicode(ds);
}
// Unwrap to the ISQLServerDataSource interface to access the getSendStringParametersAsUnicode function
static void checkSendStringParametersAsUnicode(DataSource ds) {
try {
final ISQLServerDataSource sqlServerDataSource = ds.unwrap(ISQLServerDataSource.class);
boolean sendStringParametersAsUnicode = sqlServerDataSource.getSendStringParametersAsUnicode();
System.out.println("Send string as parameter value is:-" + sendStringParametersAsUnicode);
} catch (SQLException sqlE) {
System.out.println("Exception:-" + sqlE);
}
}
}