2015-03-19 2 views
0

Я разработал jsp (веб-приложение), в котором есть класс vdb, содержащий класс Db, источник которого находится ниже, а файлы jsp используют метод connect(), который return Объект соединения и year(), которые возвращают целочисленное значение.метод класса не работает на удаленном веб-сервере, но работает локально

метод connect() хорошо работает в обоих случаях (на удаленном сервере или локальном хосте), но метод year() хорошо работает в случае локального хоста, но на удаленном сервере (с открывающейся сбой) его не работает.

FILE Db.java

package vdb; 

import java.sql.*; 

public class Db { 
public static synchronized Connection connect() 
{ 
    Connection con=null; 
    try{ 
    String url = "jdbc:mysql://1xx.x.xx.x:xx06/"; 
     String db  = "mydb"; 
     String driver = "com.mysql.jdbc.Driver"; 
     String user = "adminaz"; 
     String pass = "mypassword"; 
      Class.forName(driver).newInstance(); 
      con = DriverManager.getConnection(url+db,user,pass); 

    } 
    catch(Exception e) 
    { 
    } 
    return con; 
} 

public static int year() 
{ 
int y=0; 
ResultSet rs=null; 
try 
{ 
    Connection con=connect(); 
Statement st=con.createStatement(); 
rs=st.executeQuery("SELECT MAX(START) FROM SESSION"); 
    rs.next(); 
y=rs.getInt(1); 
} 
catch (Exception e) 
{ 
    System.out.println(e); 
} 
    return y; 
} 
} 

Файл index.jsp

<%@page import="java.sql.*;"pageEncoding="UTF-8"%> 
<% int y= vdb.Db.year();%> 
<%out.println(" CURRENT YEAR "+y);%> 

В чем проблема с этим или error.How преодолеть.

+0

1) Пожалуйста, открепите свой код так, чтобы он был читабельным. 2) добавить stacktrace – fateddy

+0

Что значит «не работает»? Выбрасывает исключение? Возврат неожиданного значения? Не возвращать значение? Является ли сервер доступом к той же БД, к которой вы обращаетесь локально? Если нет, оба БД заполнены одними и теми же данными? – deyur

+0

Как получить stacktrace, сгенерированный файлом класса на веб-сервере? локально я получаю stacktrace из вывода tomcat, но не знаю, как с удаленного веб-сервера. – Azad

ответ

0

У вас нет проблемы с этим кодом. Проблема с случаем использования имени таблицы. локальный хост находится на WINDOW OS, а удаленный веб-сервер (OPENSHIFT) - на базе Linux и в ОС Linux по умолчанию в именах таблиц mysql чувствительны к регистру, Исключение, вызванное несоответствием случая.

В linux по умолчанию запросы mysql чувствительны к регистру, но в окне это не так.

Смежные вопросы