Trabalhando com uma conexão

Baixar Driver JDBC

As seções a seguir fornecem exemplos dos modos diferentes de se conectar a um banco de dados do SQL Server usando a classe SQLServerConnection do Microsoft JDBC Driver para SQL Server.

Observação

Se você tiver problemas para se conectar ao SQL Server usando o driver JDBC, veja Solução de problemas de conectividade para obter sugestões de como corrigir isto.

Criando uma conexão usando a classe DriverManager

A abordagem mais simples para criar uma conexão com um banco de dados do SQL Server é carregar o driver JDBC e chamar o método getConnection da classe DriverManager da seguinte maneira:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = DriverManager.getConnection(connectionUrl);  

Esta técnica criará uma conexão de banco de dados usando o primeiro driver disponível na lista de drivers que podem se conectar com êxito à URL fornecida.

Observação

Ao usar a biblioteca de classes sqljdbc4.jar, os aplicativos não precisam registrar explicitamente ou carregar o driver usando o método Class.forName. Quando o método getConnection da classe DriverManager é chamado, um driver apropriado é localizado no conjunto de drivers JDBC registrados. Para obter mais informações, consulte Usando JDBC Driver.

Criando uma conexão usando a classe SQLServerDriver

Se você tiver que especificar um driver específico na lista de drivers para DriverManager, poderá criar uma conexão de banco de dados usando o método connect da classe SQLServerDriver da seguinte maneira:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

Criando uma conexão usando a classe SQLServerDataSource

Se você tiver que criar uma conexão usando a classe SQLServerDataSource, poderá usar vários métodos setter da classe antes de chamar o método getConnection, como a seguir:

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

Criar uma conexão que visa uma fonte de dados específica

Para fazer uma conexão de banco de dados que visa uma fonte de dados específica, há várias abordagens. Cada abordagem depende das propriedades que você define usando a URL de conexão.

Para conectar-se à instância padrão em um servidor remoto, use o seguinte exemplo:

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

Para conectar-se a uma porta específica em um servidor, use o seguinte exemplo:

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

Para conectar-se a uma instância nomeada em um servidor, use o seguinte exemplo:

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

Para conectar-se a um banco de dados específico em um servidor, use o seguinte exemplo:

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

Para obter mais exemplos de URL de conexão, confira Construindo a URL de conexão.

Criar uma conexão com um tempo limite de logon personalizado

Se você tiver que ajustar para carga de servidor ou tráfego de rede, poderá criar uma conexão com um valor de tempo limite de logon específico descrito em segundos, como no seguinte exemplo:

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

Criar uma conexão com identidade de nível de aplicativo

Se você tiver que usar log e perfil, terá que identificar sua conexão como originária de um aplicativo específico, como no seguinte exemplo:

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

Fechando uma conexão

Você pode fechar uma conexão de banco de dados explicitamente chamando o método close da classe SQLServerConnection, da seguinte maneira:

con.close();

Isso liberará os recursos de banco de dados que o objeto SQLServerConnection está usando ou retornará a conexão para o pool de conexão em cenários em pool.

Observação

Chamar o método close também reverterá qualquer transação pendente.

Confira também

Conectando ao SQL Server com o JDBC Driver