Вы спросите: «А два файла сверху для чего предназначены?» — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Вы спросите: «А два файла сверху для чего предназначены?»

2022-10-10 49
Вы спросите: «А два файла сверху для чего предназначены?» 0.00 из 5.00 0 оценок
Заказать работу

Ответ: А это и есть JNDI.Вот кстати по JNDIвесь архив у меня есть. Вот и все.

Прежде чем мы сможем подключить файл и попросить соединение, мы должны все-таки поподробнее увидеть, что из себя представляет URL. Смотрим слайд №10.

Или лучше взять пример из таблицы

Vendor Driver Name URL Sample
Oracle 8i oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@localhost:1521:scorpion
Oracle 9i oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@localhost:1521:scorpian
MySQL org.gjt.mm.mysql.Driver jdbc:mysql://localhost/scorpian
Microsoft Access sun.jdbc.odbc.JdbcOdbcDriver jdbc:odbc: Driver={Microsoft Access Driver (*.mdb)}
Sybase com.sybase.jdbc2.jdbc.SybDriver jdbc:sybase:Tds:scorpian:2638
MS SQL com.microsoft.jdbc. sqlserver.SQLServerDriver jdbc:sqlserver://localhost:1433
IBM DB2 COM.ibm.db2.jdbc.net.DB2Connection jdbc:db2://localhost:6789/scorpian

 

Итак! Наша задача: С 10 слайда написать эти строчки кода. Нам надо запустить NetBeans.

Файл ---> Создать проект ---> Фильтр пропускаем ---> Имя проекта: sql1---> Готово

В полученном проекте никаких сложностей возникнуть не должно. Все уже, что нужно, создано. Ваша задача: использовать имеющиеся возможности. Но я хочу, чтобы вы привыкли делать в первую очередь такое действие. Откройте проект. Видите папочку «Библиотеки»?

Что там подключено? Подключен JDK. Нажмите правой кнопочкой на библиотеке, выберете добавить файл jar. И подключите sqljdbc.jar. Собственно говоря, это и есть наш драйвер и без него ничего работать не будет.

Здесь можно подключить сразу 3 библиотеки, но нам это без надобности. Кстати, после того как вы библиотеку в NetBeansподключили. Она здесь будет видна, и вы можете открыть и посмотреть какое было написана у них был имя package. У Microsoftочень скромное имя:com.microsoft.sqlserver.jdbc. А если вы его откроете, то вы увидите, сколько им пришлось написать классов, чтобы реализовать стандарт JDBC4.0.

Первая строчка в программе, которая начинает работать с БД – мы загружаем в виртуальную машину сам драйвер. Это делается с помощью стандартного класса – его статического метода forName. А внутри forNameмы должны дать полное имя «com.microsoft.sqlserver.jdbc», «точка», а дальше идет имя самого файла с байт-кодом с учетом регистра«SQLServerDriver». Всё. Это обязательная строка. Итого: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Никакими мы себя лишними действиями не будем обременять, поэтому нажмите на лампочку и выберете throws. Понятное дело, что там есть стандартные исключение, которые выбрасывает класс forName. Его конечно можно обработать, но нам это без интереса.

Следующий шаг. Давайте руками подключим всю библиотеку, потому что одной строчкой, если мы это сделаем, будет короче: import java.sql.*; Зато теперь я могу пользоваться всеми этими классами, а в том числе мне доступен DriverManager. DriverManager.getConnection(url, "sa", "1234"); Кстати, у DriverManager совсем немного функционала, но вот основной его функционал – это getConnection.

Кстати, обратите внимание

· «registerDriver()». Он уже не нужен.

· «getDrivers()» - можно получить список драйверов, которые у вас есть. Раньше это было интересно. Вы всегда вызывали этот метод и печатали их. Почему? А там был мост JDBC-ODBC. А сегодня? А то, что вы в первой строчке написали class.forName, имя и распечатает. Ничего интересного.

Поэтому вызываем getConnection. Мы будем пользоваться версией, состоящей из 3-х элементов:

· URL

· Логин

· Пароль

ПереходимкнаписаниюURL. Естественно это должно быть String. И вот здесь надо аккуратно все элементы расписать. Смотрим на слайд. Порт с номером 1433 – это стандартный для MicrosoftSQLсервера на котором он ведёт прослушку. Также мы должны подключиться к какой-нибудь БД. Просто так что ли подключаться? Какой смысл? Посмотрите на 10 слайд.

Stringurl = " jdbc: sqlserver://10.10.110.21:1433; database= AdventureWorks";

Что вы дальше должны увидеть? А дальше должно быть все очень просто. Понятное дело, что здесь свои собственные исключения, например, генерируется SQLException. Об обработке мы поговорим, но не сейчас. Я сюда добавлю весь необходимый код. Проверка что все работает выглядит следующим образом. Вы нажимаете F6.

importjava.sql.*;

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Stringurl = " jdbc:sqlserver://127.0.0.1:3306;database=library ";

DriverManager.getConnection(url, "root", "root");

run: Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:sqlserver://127.0.0.1:3306;database=library            at java.sql.DriverManager.getConnection(DriverManager.java:689)            at java.sql.DriverManager.getConnection(DriverManager.java:247)            at sql1.Sql1.main(Sql1.java:10) JavaResult: 1 СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд) Потому что у меня на компьютере не MSSQL, а MySQL

 

Надо исправить ошибку. Заходим на страничку производителя БД MySQL, где представлены данные драйверы.

Выбираем JDBCвариант, скачиваем и подключаем его к проекту.

 

В итоге сборка завершилась успешно.

Либо так:

Про обработку исключений мы поговорим, но не сейчас. Проверка, что все работает, выглядит следующим образом. Вы нажимаете F6. Первый раз она запускается долго. Во второй раз все будет работать исключительно быстро. Это означает, что я формально получаю объект вызывая getConnection. Если происходит какой-то exception, то вы вчитываетесь в то, что там написано. Потому что, если вам напишут, что «не найдено имя класса», значит вы ошиблись в названии SQLServerDriverгде-то. Если написано, что там какой-то «Connectiontimeout», скорее что-то в параметрах указали некорректно, ipили порт перепутали.

Подключение через JNDIк БД

Теперь попробуем реализовать подключение через JNDI:

Раздел «create»


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.