Существует множество способов подключения к базе данных SQL Server2000 с помощью Java. Ниже приведены два наиболее часто используемых метода (подключение к базе данных через драйвер JDBC).
1. Подключитесь через драйвер JDBC от Microsoft. Этот драйвер JDBC состоит из трех файлов: mssqlserver.jar, msutil.jar и msbase.jar, которые можно загрузить с веб-сайта Microsoft (://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502 -461A). -B138-2AA54BFDC03A&displaylang=en), если вы загрузили файл setup.exe, вам также необходимо установить его. После установки будут созданы три указанных выше jar-файла. Этот драйвер JDBC реализует JDBC 2.0.
Имя драйвера: com.microsoft.jdbc.sqlserver.SQLServerDriver (т. е. имя класса ниже)
URL-адрес подключения к базе данных: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname (т. е. следующий URL-адрес)
2. Подключитесь к базе данных SQL Server через драйвер JTDS JDBC. Имя файла этого драйвера — jtds-1.2.jar, а путь загрузки — ( http://sourceforge.net/project/showfiles.php?group_id=33291) . ). Этот драйвер поддерживает Microsoft SQL Server (6.5, 7.0, 2000 и 2005) и Sybase, а также реализует JDBC3.0 и предоставляется бесплатно.
Имя драйвера: net.sourceforge.jtds.jdbc.Driver (т. е. имя класса ниже)
URL-адрес подключения к базе данных: jdbc:jtds:sqlserver://localhost:1433/dbname (т. е. следующий URL-адрес)
В Интернете существует множество Bean-кодов для JDBC для подключения к базам данных SQL Server. Вот выдержка из некоторых из них: (Пожалуйста, измените localhost и 1433 на адрес и номер порта сервера SQL Server в вашем реальном приложении и измените их. dbname на ваше фактическое имя базы данных)
импортировать java.sql.*;
общественный класс DatabaseConn {
частное подключение;
личное заявление stmt;
частная строка URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
Private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
частная строка uid = "sa";
частная строка pwd = «пароль»;
общедоступная база данныхConn(){}
/**
* <p>Получить подключение к базе данных через драйвер Microsoft JDBC</p>
* @return Соединение
* @Exception ClassNotFoundException, SQLException
*/
общедоступное соединение getConnection()
{
пытаться
{
Class.forName(classforname);
если (conn == null || conn.isClosed())
conn = DriverManager.getConnection(url, uid, pwd);
}
улов (ClassNotFoundException ex)
поймать (SQLException ex)
возврат соединения;
}
}
Конечно, прежде чем выполнять вышеуказанную работу, вы должны сначала проверить, нет ли каких-либо проблем с настройками вашего SQL-сервера. Шаги следующие:
Сначала откройте «окно командной строки», то есть окно MS-Dos, и введите
telnet localhost 1433 (Разумеется, замените localhost адресом сервера, на котором расположен SQL Server, и измените порт на фактический порт SQL Server. Значение по умолчанию — 1433)
Если это удалось, это означает, что ваш SQL-сервер может быть подключен. Если это не удается (обычно для Win2003 или WinXP SP2), войдите в панель управления, откройте «Службы» в «Администрировании» и запустите службу «SQLSERVERAGENT» ( Конечно, вы также можете применить пакет исправлений SP3 для SQL Server и продолжить описанную выше операцию, которая должна пройти успешно.
Во-вторых, проверьте, могут ли ваши имя пользователя и пароль войти на сервер SQL Server. Конечно, самый прямой способ — открыть «Анализатор запросов» SQL Server, ввести имя пользователя и пароль и нажать «ОК».
Если это удалось, это означает, что ваши настройки входа в SQL Server в порядке. Если это не удалось, откройте «Диспетчер предприятия» SQL Server и перейдите на зарегистрированный вами сервер SQL Server (то есть тот, который находится в разделе «Группа SQL Server»). слева Dongdong) То есть щелкните правой кнопкой мыши, выберите «Свойства», выберите «Безопасность» в диалоговом окне «Конфигурация SQL Server (свойства)», установите аутентификацию «SQL Server и Windows(S)», а затем используйте анализ запросов. Проверьте сервер один раз. Если вы по-прежнему не можете подключиться, проверьте правильность вашего имени пользователя и пароля. Повторяйте тест до достижения успеха.
Если вы используете соединения в JSP, конечно, помимо непосредственного использования JDBC, всех больше всего интересует пул соединений (Pool). Здесь мы остановимся на нескольких вариантах использования пула соединений.
Для удобства сначала установите JSP-контейнер Tomcat, потому что все его больше используют
1. Глобальная конфигурация (любое веб-приложение в Tomcat может использовать настроенный пул соединений): настройте пул соединений в файле server.xml. Файл server.xml находится в каталоге $TOMCAT_HOME$/conf/. Откройте его и найдите </. GlobalNamingResources> и вставьте перед этой строкой следующий код:
<Ресурс
name="jdbc/имя_пула"
авторизация="Контейнер"
тип = "javax.sql.DataSource"
МаксАктив="100"
максIdle="30"
maxWait="10000"
имя пользователя="са"
пароль="пароль"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
Примечание. name — это полное глобальное JNDI-имя пула соединений, username — это имя пользователя и пароль для подключения к базе данных, driverClassName — это имя драйвера базы данных, а url — это строка подключения к базе данных. Пожалуйста, измените его в соответствии с вашей фактической конфигурацией.
Настройка еще не завершена. Далее нам нужно задать имя глобального доступа в context.xml. Настройки следующие:
Найдите </Context> и вставьте перед этой строкой следующий код:
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
2. Частичная настройка: создайте новый XML-файл в каталоге $TOMCAT_HOME$/conf/Catalina/localhost/. XML-файл должен иметь то же имя, что и публикуемый вами каталог веб-приложения. Если это webappname.xml, добавьте следующее. контент (конфигурация Tomcat. Здесь также обрабатывается внешний виртуальный каталог, ха!
<Context path="/webappname" docBase="d:/webappname" debug="0" reloadable="true" crossContext="true">
<Ресурс
name="jdbc/имя_пула"
авторизация="Контейнер"
тип = "javax.sql.DataSource"
МаксАктив="100"
максIdle="30"
maxWait="10000"
имя пользователя="са"
пароль="пароль"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=dbname"/>
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
</Контекст>
Для первых двух методов код вызова пула соединений выглядит следующим образом: (Метод Debug.log() com.yeno.util.Debug в основном используется для печати отладочной информации и может быть заменен на System.out.println. ())
импортировать java.sql.*;
импортировать javax.sql.DataSource;
импортировать javax.naming.*;
импортировать com.yeno.util.Debug;
/**
* <p>Класс управления операциями с базой данных реализует только подключение к базе данных, завершение работы и обработку транзакций</p>
* @Aurhor Yeno.hhr
* Дата создания: 9 декабря 2005 г.
*/
публичный класс DataPool {
общедоступный пул данных(){}
/**
* <p>Получить соединение с базой данных через пул соединений Tomcat</p>
* @param нет
* @return Соединение с базой данных Connection
* @Exception NamingException,SQLException,Exception
*/
общедоступное соединение getConnect()
{
Соединение конн = ноль;
пытаться
{
Контекст intitCtx = новый InitialContext();
Контекст envCtx = (Context)intitCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/poolName");
conn = ds.getConnection();
}
catch (NamingException Nex)
{
Debug.log(this,"getConnect()","Нет правильной среды!");
}
улов (SQLException sqlex)
{
Debug.log(this,"getConnect()","Невозможно установить соединение!");
}
возврат соединения;
}
}
Перед использованием приведенного выше кода необходимо убедиться, что соответствующие файлы JAR драйвера JDBC (mssqlserver.jar, msutil.jar и msbase.jar для Microsoft, jtds-1.2.jar для JTDS) правильно настроены. Вы можете скопировать файл. соответствующие файлы JAR в каталог $TOMCAT_HOME $/common/lib/ или вы можете скопировать их в каталог $WEB_ROOT$/WEB-INF/lib/.
Вы также можете использовать внедрение для вызова пула соединений, то есть вызвать его в файле конфигурации Hibernate.cfg.xml. После настройки пула соединений в контейнере JSP вызовите настройки пула соединений системы в файле конфигурации Hibernate. код Ниже приведен отрывок:
<фабрика-сессии>
<!--
<property name="jndi.class"></property>
<property name="jndi.url"></property>
-->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
</сессионная фабрика>
Чтобы узнать о конкретном использовании Hibernate, ознакомьтесь с соответствующей информацией.