项目传到服务器上老不能访问数据库

时间:2022-09-23 16:51:27
前段时间做了个项目
环境是Tomcat6.0+Mysql5.0项目用了Struts1.3+Hibernate3.1中间还用了些Spring2.5的一些工具类
在本机测试没什么问题,买了个服务器把项目上传上,当天跑的好好的
可第二天就不能访问数据库。。。读库操作就报空指针异常。。。。问了他们客服说是重启下Tomcat就可以了,重启后网站正常可以跑。。。。。第三天再打开又报上面的异常。。。。。。
有点郁闷。。。。
不知道各位是否遇到过这种情况。。。服务器环境是window2000Tomcat是5.5难道是Tomcat版本问题?
不解
希望遇到过这种情况的高手给指点下迷津。。。。

16 个解决方案

#1


另还有一个问题就是项目在XP下写的
传到Linux系统的服务器上需要注意什么问题?
有人说Linux是具分大小写的。。。
还有别的什么要注意的吗?

#2


贴个Hibernate的配备文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">jdbc:mysql://系统数据库IP:系统数据库端口号/服务器数据库名?useUnicode=true&amp;characterEncoding=UTF-8</property>
<property name="connection.username">系统给的用户名</property>
<property name="connection.password">系统给的密码</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">
commenction mysql
</property>
<property name="show_sql">true</property>
<mapping resource="gg/com/domain/Admins.hbm.xml" />
。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,

</session-factory>

</hibernate-configuration>

#3


java 工程的话,没有什么要注意的,Windows 上与 Linux 上完全一样,不需要任何改动。

如果有可能的话,应该把异常贴出来。

#4


XP中的 "//" 换成 "\" 

#5


代码中有从库中读数据填充List,这时报空指指异常
不能读库。。。。

#6


服务器不是有个tomcatlog日志文件夹吗,里面有控制台输出的详细信息,有什么错误可以到里面找。

#7


异常是不能访问数据库。。。。。
但是我的配备文件没有问题
在别的服务器上试用可以,
放这个不能跑,老报这个异常
难道是不代码问题?

#8


引用 4 楼 zhangkai08111 的回复:
XP中的 "//" 换成 "\"

jdbc:mysql://系统数据库IP:系统数据库端口号/服务器数据库名?useUnicode=true&amp; characterEncoding=UTF-8
是要改这部分代码吗?
"//"换成"\"
那"/"不需要再改动什么了吧?

#9


顶顶顶

#10


不能访问数据库不是空指针异常的.异常信息也没有,是你的LIST没有东西然后在Java里出错的?
你重启后马上运行上次出错的Action看正常不

#11


我之前也遇到过类似的问题,
好像是因为网站长时间没有访问,
链接池断开了和数据库服务器的连接。

设置自动连接为true就可以了。

不过,我记得在url里面设置?autoReconnect=true好像不行,
在哪里设置的我现在一时也想不起来了。
lz自己搜一下吧。

你看看catlog里面,如果是数据库连接的NullPointerException,
大概也就是这个错误了。

good luck

#12


好像是设置了一个testQuery的什么东西,写了个简单的sql。
其他的真想不起来了

good luck

#13


建议使用连接池,mysql经常出现这个问题。好像是8个小时不操作数据库后就连不上了吧。 使用连接池就可以解决了

#14


参考资料http://leng.javaeye.com/blog/236861

#15


、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;

2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;

lower_case_table_names参数详解:

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

#16


楼主问题解决了吗,我的是oracle的数据库也是出现你那样子的问题郁闷了,数据库都连接好着呢,就是不嫩访问数据库郁闷死了。从xp的项目发布到linux上面的服务器上啊、

#1


另还有一个问题就是项目在XP下写的
传到Linux系统的服务器上需要注意什么问题?
有人说Linux是具分大小写的。。。
还有别的什么要注意的吗?

#2


贴个Hibernate的配备文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">jdbc:mysql://系统数据库IP:系统数据库端口号/服务器数据库名?useUnicode=true&amp;characterEncoding=UTF-8</property>
<property name="connection.username">系统给的用户名</property>
<property name="connection.password">系统给的密码</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">
commenction mysql
</property>
<property name="show_sql">true</property>
<mapping resource="gg/com/domain/Admins.hbm.xml" />
。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,

</session-factory>

</hibernate-configuration>

#3


java 工程的话,没有什么要注意的,Windows 上与 Linux 上完全一样,不需要任何改动。

如果有可能的话,应该把异常贴出来。

#4


XP中的 "//" 换成 "\" 

#5


代码中有从库中读数据填充List,这时报空指指异常
不能读库。。。。

#6


服务器不是有个tomcatlog日志文件夹吗,里面有控制台输出的详细信息,有什么错误可以到里面找。

#7


异常是不能访问数据库。。。。。
但是我的配备文件没有问题
在别的服务器上试用可以,
放这个不能跑,老报这个异常
难道是不代码问题?

#8


引用 4 楼 zhangkai08111 的回复:
XP中的 "//" 换成 "\"

jdbc:mysql://系统数据库IP:系统数据库端口号/服务器数据库名?useUnicode=true&amp; characterEncoding=UTF-8
是要改这部分代码吗?
"//"换成"\"
那"/"不需要再改动什么了吧?

#9


顶顶顶

#10


不能访问数据库不是空指针异常的.异常信息也没有,是你的LIST没有东西然后在Java里出错的?
你重启后马上运行上次出错的Action看正常不

#11


我之前也遇到过类似的问题,
好像是因为网站长时间没有访问,
链接池断开了和数据库服务器的连接。

设置自动连接为true就可以了。

不过,我记得在url里面设置?autoReconnect=true好像不行,
在哪里设置的我现在一时也想不起来了。
lz自己搜一下吧。

你看看catlog里面,如果是数据库连接的NullPointerException,
大概也就是这个错误了。

good luck

#12


好像是设置了一个testQuery的什么东西,写了个简单的sql。
其他的真想不起来了

good luck

#13


建议使用连接池,mysql经常出现这个问题。好像是8个小时不操作数据库后就连不上了吧。 使用连接池就可以解决了

#14


参考资料http://leng.javaeye.com/blog/236861

#15


、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;

2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;

lower_case_table_names参数详解:

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

MySQL在Windows下都不区分大小写。

#16


楼主问题解决了吗,我的是oracle的数据库也是出现你那样子的问题郁闷了,数据库都连接好着呢,就是不嫩访问数据库郁闷死了。从xp的项目发布到linux上面的服务器上啊、