Работа с подключением
В следующих разделах приведены примеры различных способов подключения к базе данных 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 также приведет к откату любой ожидающей выполнения транзакции.