URL-адрес драйвера, что это такое

Обновлено: 21.11.2024

jdbc:sqlserver:// (обязательно) известен как подпротокол и является константой.

serverName (необязательно) — адрес сервера для подключения. Этот адрес может быть DNS или IP-адресом, а также может быть локальным хостом или 127.0.0.1 для локального компьютера. Если не указано в URL-адресе подключения, имя сервера должно быть указано в наборе свойств.

instanceName (необязательно) — это экземпляр для подключения на serverName. Если не указано, выполняется подключение к экземпляру по умолчанию.

portNumber (необязательно) — это порт для подключения на serverName. Значение по умолчанию — 1433. Если вы используете значение по умолчанию, вам не нужно указывать порт или предшествующий ему символ «:» в URL-адресе.

Для оптимальной производительности подключения необходимо задать номер порта при подключении к именованному экземпляру. Это позволит избежать обращения к серверу для определения номера порта. Если используются и portNumber, и instanceName, то portNumber будет иметь приоритет, а instanceName будет игнорироваться.

свойство (необязательно) — это одно или несколько свойств подключения опции. Дополнительные сведения см. в разделе Настройка свойств подключения. Можно указать любое свойство из списка. Свойства могут быть разделены только точкой с запятой (';'), и их нельзя дублировать.

В целях безопасности не следует создавать URL-адреса подключения на основе данных, вводимых пользователем. В URL-адресе следует указать только имя сервера и драйвер. Для значений имени пользователя и пароля используйте коллекции свойств подключения. Дополнительные сведения о безопасности приложений JDBC см. в разделе Защита приложений драйвера JDBC.

Свойства соединения

Подробный список свойств, которые можно задать в строке подключения, см. в разделе Настройка свойств подключения.

Примеры подключения

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

Хотя в предыдущем примере в строке подключения используются имя пользователя и пароль, вам следует использовать встроенную систему безопасности, так как она более безопасна. Дополнительные сведения см. в разделе «Подключение с помощью встроенной аутентификации» далее в этой теме.

В следующей строке подключения показан пример подключения к базе данных SQL Server с использованием встроенной проверки подлинности и Kerberos из приложения, работающего в любой операционной системе, поддерживаемой драйвером Microsoft JDBC для SQL Server:

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

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

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

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

Именованные и несколько экземпляров SQL Server

SQL Server позволяет устанавливать несколько экземпляров базы данных на сервер. Каждый экземпляр идентифицируется конкретным именем. Чтобы подключиться к именованному экземпляру SQL Server, вы можете либо указать номер порта именованного экземпляра (предпочтительно), либо указать имя экземпляра как свойство URL-адреса JDBC или свойство источника данных. Если имя экземпляра или номер порта не указаны, создается соединение с экземпляром по умолчанию. См. следующие примеры:

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

Чтобы использовать свойство URL JDBC, используйте следующий формат:

Экранирование значений в URL подключения

Возможно, вам придется экранировать определенные части значений URL подключения, если значения содержат специальные символы, такие как пробелы, точки с запятой и кавычки. Драйвер JDBC поддерживает экранирование этих символов, заключая их в фигурные скобки. Например, экранирует точку с запятой.

До версии 8.4 экранированные значения могут содержать специальные символы (особенно '=', ';', '[]' и пробел), но не могут содержать фигурные скобки. Значения, которые должны быть экранированы и содержат фигурные скобки, должны быть добавлены в коллекцию свойств.

В версии 8.4 и выше экранированные значения могут содержать специальные символы, включая фигурные скобки. Однако закрывающие фигурные скобки должны быть экранированы. Например, с паролем pass";<>word строка подключения должна экранировать пароль следующим образом:

Пробелы внутри фигурных скобок являются буквальными и не обрезаются.

Подключение со встроенной проверкой подлинности в Windows

Драйвер JDBC поддерживает использование встроенной проверки подлинности типа 2 в операционных системах Windows с помощью свойства строки подключения IntegratedSecurity. Чтобы использовать встроенную проверку подлинности, скопируйте файл mssql-jdbc_auth- -.dll в каталог по системному пути Windows на компьютере, где установлен драйвер JDBC.

Для любой операционной системы, поддерживаемой драйвером Microsoft JDBC для SQL Server, см. раздел Использование встроенной проверки подлинности Kerberos для подключения к SQL Server, где приведено описание функции, добавленной в драйвер Microsoft JDBC Driver 4.0 для SQL Server, которая позволяет приложению подключаться к база данных, использующая встроенную аутентификацию с помощью Kerberos типа 4.

-Djava.library.path=C:\Microsoft JDBC Driver 6.4 для SQL Server\sqljdbc_ \enu\auth\x86

Подключение с IPv6-адресами

Драйвер JDBC поддерживает использование адресов IPv6 с коллекцией свойств соединения и со свойством строки соединения serverName. Исходное значение serverName, например jdbc:sqlserver://serverName, не поддерживается для адресов IPv6 в строках подключения. Использование имени для serverName вместо необработанного IPv6-адреса будет работать в каждом случае подключения. Следующие примеры содержат дополнительную информацию.

Во-первых, вам нужно установить соединение с источником данных, который вы хотите использовать. Источником данных может быть СУБД, устаревшая файловая система или какой-либо другой источник данных с соответствующим драйвером JDBC. Обычно приложение JDBC подключается к целевому источнику данных с помощью одного из двух классов:

DriverManager: этот полностью реализованный класс подключает приложение к источнику данных, указанному URL-адресом базы данных. Когда этот класс впервые пытается установить соединение, он автоматически загружает все драйверы JDBC 4.0, найденные в пути к классу. Обратите внимание, что ваше приложение должно вручную загружать все драйверы JDBC до версии 4.0.

DataSource : этот интерфейс предпочтительнее DriverManager, поскольку он позволяет сделать детали базового источника данных прозрачными для вашего приложения. Свойства объекта DataSource устанавливаются таким образом, чтобы он представлял конкретный источник данных. Дополнительные сведения см. в разделе «Соединение с объектами DataSource». Дополнительную информацию о разработке приложений с помощью класса DataSource см. в последней версии Учебника по Java EE.

Примечание. В примерах в этом руководстве используется класс DriverManager вместо класса DataSource, поскольку он проще в использовании, а в примерах не требуются функции класса DataSource.

Эта страница охватывает следующие темы:

Использование класса DriverManager

Подключение к вашей СУБД с помощью класса DriverManager включает вызов метода DriverManager.getConnection . Следующий метод JDBCTutorialUtilities.getConnection устанавливает соединение с базой данных:

Метод DriverManager.getConnection устанавливает соединение с базой данных. Для этого метода требуется URL-адрес базы данных, который зависит от вашей СУБД. Ниже приведены некоторые примеры URL-адресов баз данных:

MySQL: jdbc:mysql://localhost:3306/ , где localhost — это имя сервера, на котором размещена ваша база данных, а 3306 — это номер порта

Java DB: jdbc:derby:testdb;create=true , где testdb — это имя базы данных для подключения, а create=true указывает СУБД создать базу данных.

Примечание. Этот URL-адрес устанавливает соединение с базой данных со встроенным драйвером Java DB. Java DB также включает драйвер сетевого клиента, который использует другой URL-адрес.

Этот метод указывает имя пользователя и пароль, необходимые для доступа к СУБД с помощью объекта Properties.

Примечание:

Обычно в URL-адресе базы данных вы также указываете имя существующей базы данных, к которой хотите подключиться. Например, URL-адрес jdbc:mysql://localhost:3306/mysql представляет собой URL-адрес базы данных MySQL с именем mysql. В примерах в этом руководстве используется URL-адрес, в котором не указана конкретная база данных, поскольку в примерах создается новая база данных.

В предыдущих версиях JDBC для получения соединения сначала нужно было инициализировать драйвер JDBC, вызвав метод Class.forName . Для этих методов требуется объект типа java.sql.Driver . Каждый драйвер JDBC содержит один или несколько классов, реализующих интерфейс java.sql.Driver. Драйверы для Java DB — org.apache.derby.jdbc.EmbeddedDriver и org.apache.derby.jdbc.ClientDriver, а для MySQL Connector/J — com.mysql.cj.jdbc.Driver. См. документацию вашего драйвера СУБД, чтобы получить имя класса, реализующего интерфейс java.sql.Driver .

Все драйверы JDBC 4.0, найденные в вашем пути к классам, загружаются автоматически. (Однако вы должны вручную загружать все драйверы, предшествующие JDBC 4.0, с помощью метода Class.forName .)

Метод возвращает объект Connection, представляющий соединение с СУБД или определенной базой данных. Запросите базу данных через этот объект.

Указание URL-адресов подключения к базе данных

URL-адрес подключения к базе данных — это строка, которую драйвер JDBC вашей СУБД использует для подключения к базе данных. Он может содержать такую ​​информацию, как место поиска базы данных, имя базы данных для подключения и свойства конфигурации. Точный синтаксис URL-адреса подключения к базе данных определяется вашей СУБД.

URL-адреса подключения к базе данных Java DB

Ниже приведен синтаксис URL-адреса подключения к базе данных для Java DB:

  • subsubprotocol указывает, где Java DB должна искать базу данных: в каталоге, в памяти, в пути к классу или в файле JAR. Обычно его не указывают.
  • databaseName – это имя базы данных, к которой нужно подключиться.
  • attribute=value представляет необязательный список атрибутов, разделенных точкой с запятой. Эти атрибуты позволяют указывать Java DB для выполнения различных задач, включая следующие:
    • Создайте базу данных, указанную в URL-адресе подключения.
    • Зашифровать базу данных, указанную в URL-адресе подключения.
    • Укажите каталоги для хранения журналов и данных трассировки.
    • Укажите имя пользователя и пароль для подключения к базе данных.

    Для получения дополнительной информации см. Руководство разработчика по Java DB и Справочное руководство по Java DB в Технической документации по Java DB.

    URL-адрес базы данных MySQL Connector/J

    Ниже приведен синтаксис URL-адреса подключения к базе данных для MySQL Connector/J:

    Вы когда-нибудь хотели подключиться к реляционной базе данных с помощью Java и не знали строку подключения URL?

    Тогда эта статья обязательно поможет вам в дальнейшем.

    Оракул

    Свойства соединения JDBC выглядят следующим образом:

    < td width="25%">URL-адрес JDBC
    Драйвер JDBC oracle.jdbc.OracleDriver
    jdbc:oracle:thin:@localhost:1521:orclpdb1
    Hibernate Dialect org.hibernate.dialect.Oracle12cDialect

    И если вы хотите подключиться с помощью JDBC DataSource , вам нужно использовать следующее:

    Майкл

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC com.mysql.jdbc.Driver
    URL-адрес JDBC jdbc:mysql://localhost/high_performance_java_persistence
    Hibernate Dialect org.hibernate.dialect.MySQL8Dialect

    И если вы хотите подключиться с помощью JDBC DataSource , вам нужно использовать следующее:

    PostgreSQL

    Свойства соединения JDBC выглядят следующим образом:

    < td width="25%">URL-адрес JDBC
    Драйвер JDBC org.postgresql.Driver
    jdbc:postgresql://localhost/high_performance_java_persistence
    Hibernate Dialect org.hibernate.dialect.PostgreSQL95Dialect

    И если вы хотите подключиться с помощью JDBC DataSource , вам нужно использовать следующее:

    SQL-сервер

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC com.microsoft.sqlserver.jdbc.SQLServerDriver
    URL-адрес JDBC jdbc:sqlserver://localhost;instance=SQLEXPRESS;databaseName=high_performance_java_persistence
    Диалект спящего режима org.hibernate.dialect.SQLServer2012Dialect

    И если вы хотите подключиться с помощью JDBC DataSource , вам нужно использовать следующее:

    МарияДБ

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC org.mariadb.jdbc.Driver
    URL-адрес JDBC jdbc:mariadb://localhost/high_performance_java_persistence
    Hibernate Dialect org.hibernate.dialect.MariaDB53Dialect

    Db2 Express-C

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC com.ibm.db2.jcc.DB2Driver
    URL-адрес JDBC jdbc:db2://localhost/high_performance_java_persistence
    Диалект спящего режима org.hibernate.dialect.DB2Dialect

    SAP HANA

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC com.sap.db.jdbc.Driver
    URL-адрес JDBC jdbc:sap://localhost/high_performance_java_persistence
    Hibernate Dialect org.hibernate.dialect.HANAColumnStoreDialect

    Информикс

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC com.informix.jdbc.IfxDriver
    URL-адрес JDBC jdbc:informix-sqli://localhost:9088/sysuser:INFORMIXSERVER=hpjp
    Диалект спящего режима org.hibernate.dialect.InformixDialect

    HSQLDB

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC org.hsqldb.jdbc.JDBCDriver
    URL-адрес JDBC jdbc:hsqldb:mem:high_performance_java_persistence
    Диалект спящего режима org.hibernate.dialect.HSQLDialect

    И если вы хотите подключиться с помощью JDBC DataSource , вам нужно использовать следующее:

    Свойства соединения JDBC выглядят следующим образом:

    < td width="25%">URL-адрес JDBC
    Драйвер JDBC org.h2.Driver
    jdbc:h2:mem:high_performance_java_persistence
    Спящий диалект org.hibernate.dialect.H2Dialect

    Дерби

    Свойства соединения JDBC выглядят следующим образом:

    Драйвер JDBC org.apache.derby.jdbc.EmbeddedDriver
    URL-адрес JDBC jdbc:derby:target/tmp/derby/hpjp;databaseName=high_performance_java_persistence;create=true
    Диалект спящего режима org.hibernate.dialect.DerbyTenSevenDialect

    4 мая я провожу онлайн-семинар по оконным функциям SQL.

    Если вам понравилась эта статья, держу пари, вам понравятся мои книги и видеокурсы.

    Заключение

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

    Если есть система баз данных, которую я забыл добавить, добавьте комментарий, и я обновлю статью.

    JDBC предоставляет URL-адрес для идентификации базы данных, поэтому мы можем легко распознать требуемый драйвер и подключить его. В основном URL-адрес JDBC мы можем использовать в качестве URL-адреса подключения к базе данных в соответствии с требованиями пользователя. Когда драйвер успешно загружен, нам нужно указать требуемый URL-адрес подключения к базе данных, чтобы подключить базу данных, которую хочет пользователь. Мы знаем, что URL-адрес JDBC всегда начинается с ключевого слова JDBC для подключения к базе данных; в основном URL-адрес зависит от драйвера JDBC. Нам также необходимо предоставить различные параметры с URL-адресом JDBC, а именно: номер порта, имя хоста, имя базы данных, имя пользователя, пароль и т. д.

    Синтаксис:

    Веб-разработка, языки программирования, тестирование программного обеспечения и другое

    указанное имя протокола//[указанное имя хоста][/указанное имя базы данных][имя пользователя и пароль]

    Пояснение

    Используя приведенный выше синтаксис, мы пытаемся реализовать подключение к базе данных, здесь мы используем различные параметры, такие как имя протокола, желаемое имя хоста, указанное имя базы данных, которое нам нужно для подключения с именем пользователя и паролем, имя базы данных зависит от пользователя.

    Как работает URL в JDBC?

    Теперь давайте посмотрим, как URL работает в JDBC.

    Для установления соединения с базой данных нам необходимо выполнить тот же шаг, как показано ниже.
    Импорт пакетов JDBC. Первым шагом нам нужно импортировать пакеты JDBC в программу Java, для которой нам нужен класс в коде.
    Зарегистрируйте драйвер JDBC. После импорта класса нам нужно загрузить JVM, чтобы выполнить загрузку необходимого драйвера, а также памяти для запроса JDBC.

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

    Создание объекта подключения: после формирования URL нам нужно создать объект подключения, что означает, что мы можем вызывать DriverManager с методами grtConnection() для установления подключения к базе данных с указанным именем.

    Обучение Java Servlet (6 курсов, 12 проектов) 6 онлайн-курсов | 12 практических проектов | 53+ часа | Поддающийся проверке сертификат об окончании | Пожизненный доступ
    4,5 (7 219 оценок)

    Теперь давайте подробно рассмотрим, как мы можем импортировать драйвер JDBC следующим образом.

    В основном оператор импорта используется для компиляции Java-программы, а также для поиска классов, полезных для реализации исходного кода в соответствии с требованиями пользователя. Используя эти стандартные пакеты, мы можем выполнять различные операции, такие как вставка, удаление и обновление, в соответствии с требованиями пользователя.

    Теперь давайте посмотрим, как мы можем зарегистрировать драйвер JDBC следующим образом.

    Нам просто нужно импортировать драйвер перед его использованием. Зачисление драйвера — это цикл, в котором документ класса драйвера Oracle помещается в память, поэтому он, как правило, используется для выполнения интерфейсов JDBC.

    Вам нужно выполнить эту регистрацию только один раз в вашей программе. Вы можете завербовать водителя одним из двух способов.

    <р>1.Используя Class.forName():

    Наиболее широко признанный способ регистрации драйвера – использование метода Class.forName() в Java, который последовательно размещает документ класса драйвера в памяти, что естественным образом закрепляет его. Этот метод идеален, поскольку позволяет сделать регистрацию драйверов настраиваемой и компактной.

    <р>2. Используя DriverManager.registerDriver():

    Второй метод, который вы можете использовать для регистрации водителя, – это использование статической стратегии DriverManager.registerDriver().
    Вы должны использовать метод registerDriver(), если вы используете JVM, несовместимую с JDK, например, предоставленную Microsoft.

    После того, как вы объединили драйверы, вы можете настроить ассоциацию, используя метод DriverManager.getConnection(). JDBC предоставляет различные драйверы JDBC для различных систем баз данных, и мы можем использовать их в соответствии с требованиями пользователя.

    1. Формат URL-адреса MySQL JDBC:

    Это первый формат URL JDBC, который можно использовать в MySQL для установления соединения с требуемым именем базы данных. Формат этого URL следующий.

    (Connection con_obj = DriverManager.getConnection(specifed_jdbcUrl, определяемое пользователем имя пользователя, определяемый пользователем пароль))

    Пояснение

    В приведенном выше формате мы используем метод DriverManager.getConnection для установления соединения с базой данных; здесь нам нужно передать указанный URL-адрес JDBC, а также нам нужно передать имя пользователя и пароль. Поля имени пользователя и пароля зависят от пользователя. В URL-адресе JDBC нам нужно передать все параметры, необходимые для установления соединения, такие как имя базы данных, протокол и т. д.

    2. Формат URL-адреса Microsoft SQL Server:

    Это еще один известный формат URL для системы баз данных. Предположим, нам нужно подключиться к Microsoft SQL Server из приложения Java, в то время как мы можем использовать указанный ниже формат следующим образом.

    jdbc:sqlserver://[указанное имя_сервера[\ указанное имя_экземпляра][:требуемый номер_порта]][;свойство (определяемые пользователем свойства)]

    Пояснение

    В приведенном выше синтаксисе нам нужно указать имя сервера, которое является адресом сервера, или мы можем назвать это доменное имя или IP-адрес. Кроме того, нам нужно указать имя экземпляра для подключения к серверу, если мы уйдем, тогда он будет использовать значение по умолчанию. Точно так же мы можем использовать номера портов и свойства.

    3. Формат URL-адреса PostgreSQL JDBC:

    PostgreSQL — это известная система баз данных с открытым исходным кодом. Таким образом, мы можем использовать упомянутый ниже формат JDBC следующим образом.

    Jdbc:postgresql://hostname:номер порта/указанное имя базы данных и свойства.

    Примеры

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

    импортировать java.sql.Connection;
    импорт java.sql.DriverManager;
    импорт java.sql.PreparedStatement;
    импорт java.sql.Statement;
    публичный класс connection_t public static void main(String args[]) String m_url = "jdbc:mysql://localhost";
    Соединение con_obj = DriverManager.getConnection(m_url, "root", "root");
    System.out.println("Соединение с базой данных успешно установлено...");
    >
    >

    Пояснение

    В приведенном выше примере мы импортируем зависимости, необходимые для установления соединения с базой данных, например SQL. соединение, SQL.DriverManger и т. д. После этого мы импортируем класс, как показано. Здесь мы также упомянули строку подключения с параметрами подключения, такими как метод DriverManager.getConnection(), как показано. Окончательный вывод или конечный результат приведенного выше примера мы проиллюстрировали с помощью следующего снимка экрана следующим образом.

    Точно так же мы можем подключиться к серверу Microsoft и PostgreSQL в соответствии с нашими требованиями.

    Заключение

    Мы надеемся, что из этой статьи вы узнали URL-адрес JDBC. Из приведенной выше статьи мы узнали основной синтаксис URL-адресов JDBC, а также видим различные URL-адреса строки подключения с различными примерами URL-адресов JDBC. Из этой статьи мы узнали, как и когда использовать JDBC URL.

    Рекомендуемые статьи

    Это руководство по JDBC URL. Здесь мы обсудим определение, синтаксис, как URL работает в JDBC? и примеры соответственно. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

    Читайте также: