java本地项目连接服务器数据库要配制tomcat文件吗?
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();
}
}
我用普通项目也连不上,谁帮我测试下。。。。 展开
再试试在navicat上测试下可以成功连接数据库并看到有相应的数据库和表不!
重新确认下url是否正确"jdbc:mysql://localhost:3306/news1_2"
确认mysql数据库是否有远程连接的权限!这个不是navicat在本地连接成功就说明可以远程连接上的(看一下mysql库里面的user表里面host字段是否有%这个记录
:可以的话给出堆栈信息看看!
我自己在我这机器上可以ping通你那服务器!登不上去!
你要看看mysql库user表里面你用的user字段adminUDd3gqa
是否有host为%堆栈信息就是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文件配置看看能不能连接上!
是什么啊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下获取数据库信息做连接.你什么?
是什么啊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下获取数据库信息做连接.你什么?