Установка и настройка JDBC с Java SE 6 и Tomcat 6 - помогите пожалуйста - PullRequest
1 голос
/ 16 февраля 2012

Я новичок в Tomcat и Java SE 6, и мне нужно знать, что мне нужно сделать, чтобы установить, настроить и использовать драйвер Microsoft JDBC.

Я загрузил драйвер JDBC и извлек его в каталогна системе Windows 2008.Я собираюсь установить пару приложений Java в Tomcat 6, которые должны общаться с базой данных SQL.

Нужно ли копировать файлы из каталога JDBC в каталоги Tomcat или каталоги приложений Java, установленные в Tomcat??

Нужно ли что-нибудь еще настраивать?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Как говорят ссылки, предоставленные Gagandeep, для того, чтобы ваша JVM могла установить соединение с базой данных, jar-файл драйвера JDBC должен находиться на пути к классам, и вам нужно будет предоставить вашей Java-программе соответствующуюСтрока подключения и учетные данные.

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

Теперь есть несколько вариантов созданияи обеспечение этой связи.С приложениями Tomcat и Java EE ваше приложение Java может определить a в своем файле web.xml.Tomcat будет отвечать за создание / поддержание соединения (пула) и предоставление его приложению по мере необходимости.В этом случае драйвер должен находиться на пути к классам Tomcat, вам потребуется некоторая конфигурация в соответствующем context.xml вашего приложения и, возможно, даже в server.xml. Вот несколько документов Tomcat по теме этого метода

В качестве альтернативы ваше приложение может быть ответственно за настройку и разрыв соединений с базой данных, и в этом случае файлы jar драйвера, вероятно, принадлежат WAR /часть пути к классу WAR.Тогда все, что нужно, - это метод для получения необходимой информации о соединении в приложении (записи среды, файлы свойств, любое количество других методов) ...

1 голос
/ 16 февраля 2012

Попробуйте Начало работы с драйверами JDBC

Еще одна ссылка Начало работы с драйверами Microsoft JDBC

Я провел некоторое исследование в отношенииваш заданный вопрос.Что я узнал, так этоПосле загрузки драйверов просто добавьте их в путь к классам вашей операционной системы.Теперь, как поместить их в вашу часть Tomcat, я предложу вам сделать MVC Model Approach, где запрос поступит к вашему сервлету, а затем ваш класс, который установит соединение с вашей базой данных, будет только одним нормальным классом, а ваш сервлеткласс вызовет этот класс, который устанавливает соединения с вашей базой данных, и отправит необходимые поля обратно в класс сервлета.Я протестировал драйверы с Microsoft SQL Server 2008, и с ним работает следующий код:

import java.*;
public class Connect
{
    private java.sql.Connection  con = null;
    private final String url = "jdbc:sqlserver://";
    private final String serverName= "localhost";
    private final String portNumber = "1433";
    private final String databaseName= "yourDatabaseName";
    private final String userName = "yourUserName";
    private final String password = "yourPassword";
    // Informs the driver to use server a side-cursor, 
    // which permits more than one active statement 
    // on a connection.
    private final String selectMethod = "cursor"; 

    // Constructor
    public Connect(){}

    private String getConnectionUrl()
    {
        return   url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
    }

    private java.sql.Connection getConnection()
    {
        try
        {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
            if(con!=null) System.out.println("Connection Successful!");
        }
        catch(Exception e)
        {
               e.printStackTrace();
               System.out.println("Error Trace in getConnection() : " + e.getMessage());
        }
        return con;
    }

    /*
         Display the driver properties, database details 
    */ 

    public void displayDbProperties()
    {
        java.sql.DatabaseMetaData dm = null;
        java.sql.ResultSet rs = null;
        try
        {
            con= this.getConnection();
            if(con!=null)
            {
                dm = con.getMetaData();
                System.out.println("Driver Information");
                System.out.println("\tDriver Name: "+ dm.getDriverName());
                System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
                System.out.println("\nDatabase Information ");
                System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
                System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
                System.out.println("Avalilable Catalogs ");
                rs = dm.getCatalogs();
                while(rs.next())
                {
                     System.out.println("\tcatalog: "+ rs.getString(1));
                } 
                rs.close();
                rs = null;
                closeConnection();
               }else System.out.println("Error: No active Connection");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        dm=null;
    }     

    private void closeConnection()
    {
        try
        {
            if(con!=null)
            con.close();
            con=null;
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) throws Exception
    {
        Connect myDbTest = new Connect();
        myDbTest.displayDbProperties();
    }
}

Этот код имеет некоторые небольшие изменения по сравнению с приведенным мной в ссылке.Добавьте sqljdbc.jar в ваш путь к классам, укажите имя базы данных, имя пользователя и пароль и попробуйте запустить этот код.Если это успешно, то используйте один шаблон MVC (Model View Controller) для вашего веб-приложения, в котором запрос приходит к сервлету, сервлет передает его в обычный класс Java, устанавливая соединение с базой данных и обращаясь к базе данных, а затемвернуть то, что вам нужно, обратно в класс сервлетов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...