Работа с подключением

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

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

См. также раздел

Подключение к SQL Server с помощью JDBC Driver