Работа с соединением

Скачать драйвер JDBC

В следующих разделах приведены примеры различных способов подключения к базе данных SQL Server с помощью класса SQLServerConnection драйвера Microsoft JDBC для SQL Server.

Примечание.

Если у вас возникли проблемы с подключением к SQL Server с помощью драйвера JDBC, ознакомьтесь с рекомендациями по устранению неполадок с подключением .

Установка подключения с использованием класса DriverManager

Самый простой подход к созданию подключения к базе данных SQL Server заключается в загрузке драйвера JDBC и вызове метода getConnection класса DriverManager, как показано ниже.

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

По этой методике подключение к базе данных будет создано с помощью первого доступного драйвера из списка драйверов, способных успешно подсоединиться к данному URL-адресу.

Примечание.

При использовании библиотеки классов sqljdbc4.jar приложениям не обязательно явно регистрировать или загружать драйвер с помощью метода Class.forName. При вызове метода getConnection класса DriverManager подходящий драйвер выбирается из набора зарегистрированных драйверов JDBC. Дополнительные сведения об использовании JDBC см. в разделе "Использование драйвера JDBC".

Установка подключения с использованием класса SQLServerDriver

Если нужно указать конкретный драйвер из списка драйверов для DriverManager, то можно создать подключение к базе данных с помощью метода connect класса SQLServerDriver:

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());  

Установка подключения с использованием класса SQLServerDataSource

При необходимости создать соединение с помощью класса SQLServerDataSource можно использовать различные методы задания класса, после чего вызывается метод getConnection:

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

Установка подключения, предназначенного для конкретного источника данных

Создать подключение к базе данных, целью которого является конкретный источник данных, можно несколькими способами. Каждый способ зависит от свойств, задаваемых с помощью URL-адреса соединения.

Чтобы подключиться к экземпляру по умолчанию на удаленном сервере, используйте следующий пример:

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

Подключиться к конкретному порту на сервере можно следующим образом:

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

Подключиться к именованному экземпляру на сервере можно следующим образом:

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

Подключиться к конкретной базе данных на сервере можно следующим образом:

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

Дополнительные примеры URL-адресов подключений см. в статье о создании URL-адреса подключения.

Создание подключения с настраиваемым тайм-аутом входа

Если приходится подстраиваться под нагрузку сервера или сети, можно создать соединение с заданным временем сохранения учетных данных в секундах:

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

Создать подключение с идентификацией на уровне приложения

Если вам необходимо использовать журналирование и профилирование, вам потребуется идентифицировать соединение как исходящее от конкретного приложения, как в следующем примере:

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

Закрытие подключения

Подключение к базе данных можно явно закрыть путем вызова метода close класса SQLServerConnection:

con.close();

Это приведет к освобождению ресурсов базы данных, которые использует объект SQLServerConnection, или к возврату соединения в пул соединений при использовании пула соединений.

Примечание.

Вызов метода close также вызовет откат всех незавершенных транзакций.