java本地项目连接服务器数据库要配制tomcat文件吗?

数据库是openshift空间的MySQL用jdbc连接host:127.3.57.130port:3306user:adminUDd3gqapassword:ZcbM-... 数据库是openshift空间的MySQL 用jdbc连接
host:127.3.57.130
port:3306
user:adminUDd3gqa
password:ZcbM-TbtK7yZ
我用navicat成功连接了数据库,ID PWD决对没问题(navicat是单独连接服务器mysql的软件)
以下是代码
String
user="adminUDd3gqa";

String
pass="ZcbM-TbtK7yZ";

String
url = "jdbc:mysql://127.3.57.130:3306/8158" ;

try {

Class.forName(
"com.mysql.jdbc.Driver");

Connection
m_connection = DriverManager.getConnection(url, user , pass);

}
catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}
catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.
out.print("jdbc..........................erro");

}
异常出在m_connection = DriverManager.getConnection(url, user , pass);

还有在openshift贴吧里的人是配制tomcat的context.xml 用ServletContextEvent的各种方法获得用户信息,知道的解释下(贴吧是英文的看不懂)
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/burgerjoint</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value>admin******</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>*********</param-value>
</context-param>

public void contextInitialized(ServletContextEvent event) {
// Connect
String driver = event.getServletContext().getInitParameter(PARAM_DRIVER);
String url = event.getServletContext().getInitParameter(PARAM_URL);
String username = event.getServletContext().getInitParameter(PARAM_USERNAME);
String password = event.getServletContext()
.getInitParameter(PARAM_PASSWORD);

try {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, username,
password);

event.getServletContext().setAttribute(ATTR_CONNECTION, connection);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

}
我用普通项目也连不上,谁帮我测试下。。。。
展开
 我来答
巫难天地难m
2015-02-28 · TA获得超过263个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:137万
展开全部
  1. 再试试在navicat上测试下可以成功连接数据库并看到有相应的数据库和表不!

  2. 重新确认下url是否正确"jdbc:mysql://localhost:3306/news1_2"

  3. 确认mysql数据库是否有远程连接的权限!这个不是navicat在本地连接成功就说明可以远程连接上的(看一下mysql库里面的user表里面host字段是否有%这个记录

:可以的话给出堆栈信息看看!

更多追问追答
追问

1.navicat一开始就能连(这数据库是inter网上的不是本地的),能看到数据。如图

2.数据库的ID 和密码没有错

3.有%           堆栈信息不知道是什么

追答
  1. 我自己在我这机器上可以ping通你那服务器!登不上去!

  2. 你要看看mysql库user表里面你用的user字段adminUDd3gqa
    是否有host为%

  3. 堆栈信息就是Java程序运行时控制台异常信息!!复制出来看看!


   String driver = event.getServletContext().getInitParameter(PARAM_DRIVER);
   String url = event.getServletContext().getInitParameter(PARAM_URL);
   String username = event.getServletContext().getInitParameter(PARAM_USERNAME);
   String password = event.getServletContext()
       .getInitParameter(PARAM_PASSWORD);  你先不要用Context.xml文件配置看看能不能连接上!

smh_0205
2015-02-28
知道答主
回答量:1
采纳率:0%
帮助的人:1278
展开全部
问下你的,url = "jdbc:mysql://127.3.57.130:3306/8158" ;
是什么啊3306后面那个是数据库应该,你数据库是数字的?给你个正确格式你看看
// 加载url 用户名和密码
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/sciencecontent2?useUnicode=true&characterEncoding=UTF-8",
"root",
"sec1234");
追问
openshift的数据库不允许直接写连接信息,它要在tomcat 下context.xml下获取数据库信息做连接.你什么?
openshift的数据库不允许直接写连接信息,它要在tomcat 下context.xml下获取数据库信息做连接.你什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
检茗003
2015-02-28 · TA获得超过228个赞
知道答主
回答量:69
采纳率:100%
帮助的人:34.2万
展开全部
问下你的,url = "jdbc:mysql://127.3.57.130:3306/8158" ;
是什么啊3306后面那个是数据库应该,你数据库是数字的?给你个正确格式你看看
// 加载url 用户名和密码
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/sciencecontent2?useUnicode=true&characterEncoding=UTF-8",
"root",
"sec1234");
追问
openshift的数据库不允许直接写连接信息,它要在tomcat 下context.xml下获取数据库信息做连接.你什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式