在android中使用mysql连接通过jdbc在java中成功完成登录表单...它在我的本地主机上成功工作...但发展网站没有工作...以下错误显示。jdbc连接socketexception错误
java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.ConnectException: Connection timed out: connect
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.ConnectException: Connection timed out: connect
STACKTRACE:
java.net.SocketException: java.net.ConnectException: Connection timed out: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.retrieve.retrieve.main(retrieve.java:15)
** END NESTED EXCEPTION **
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.retrieve.retrieve.main(retrieve.java:15)
为什么发生错误发生。给我一些解决方案。 如果正在运行本地主机意味着我的SQL查询
package com.example.login;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class LoginLayoutActivity extends Activity {
EditText username,password;
TextView error;
Button ok;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
username=(EditText)findViewById(R.id.et_un);
password=(EditText)findViewById(R.id.et_pw);
error=(TextView)findViewById(R.id.tv_error);
ok=(Button)findViewById(R.id.btn_login);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Editable user = username.getText();
Editable pass = password.getText();
try {
**Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/people", "root", "");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT password FROM customers where login='"+user+"'");**
if(rs.next())
{
String dbpass = rs.getString(1);
if(dbpass.equals(pass)){
error.setText("Correct Username or Password");
}
else
{
error.setText("Sorry!! Incorrect Username or Password");
}
}
}
catch (SQLException e) {
username.setText(e.toString());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
如果正在运行的开发网站表示我的查询是:
package com.example.login;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class LoginLayoutActivity extends Activity {
EditText username,password;
TextView error;
Button ok;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
username=(EditText)findViewById(R.id.et_un);
password=(EditText)findViewById(R.id.et_pw);
error=(TextView)findViewById(R.id.tv_error);
ok=(Button)findViewById(R.id.btn_login);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Editable user = username.getText();
Editable pass = password.getText();
try {
**Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://dev.xxxxx.com/xxx", "xxxx", "xxxx");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT password FROM customers where login='"+user+"'");**
if(rs.next())
{
String dbpass = rs.getString(1);
if(dbpass.equals(pass)){
error.setText("Correct Username or Password");
}
else
{
error.setText("Sorry!! Incorrect Username or Password");
}
}
}
catch (SQLException e) {
username.setText(e.toString());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
DIS开发网站的用户名,密码,数据库名称和网址都仅改变R是正确的。 ..为什么DIS错误发生....给我解决方案...
可以ping到该主机?你能通过其他工具连接到MySQL吗? – 2012-02-18 13:09:14
雅我平主机...然后只把...没有..在这里jdbc只用... – hariprasad 2012-02-18 13:28:48
尝试连接使用其他工具,并尝试缩小问题搜索空间 – 2012-02-18 13:29:47