我正在尝试执行以下代码,它通过JDBC将我的android应用程序连接到mysql服务器:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Toast;
import net.sourceforge.jtds.jdbc.*;
import net.sourceforge.jtds.jdbcx.*;
import java.sql.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this, "SqlConnection",Toast.LENGTH_SHORT).show();
Connection conn = null;
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://HOSTNAME/DATABASE_NAME;user=USERNAME;password=PASSWORD;");
Toast.makeText(this, "Connection Opened", Toast.LENGTH_SHORT).show();
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from Tablename;");
if(reset.next() == true){
//Log.w("Data", reset.getString(1));
Toast.makeText(this, reset.getString(1) , Toast.LENGTH_SHORT).show();
Toast.makeText(this, "OK", Toast.LENGTH_SHORT).show();
}
conn.close();
}
catch (Exception e){
//Log.w("Error Connection", ""+e.getMessage());
Toast.makeText(this, "Error Connection" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我在我的项目中添加了jtds 1.2.7,并添加了Internet权限,结果是Connection ConnectionNull
答案 0 :(得分:1)
我相信jTDS用于处理MS SQL服务器而不是mysql。 要连接到mysql,您可以使用以下内容:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = null;
conn = DriverManager.getConnection`enter code here`("jdbc:mysql://hostname:port/dbname","username", "password")
要使用jTDS连接到MS SQL服务器,您可以使用端口号和实例名称执行此类操作:
jdbc:jtds:sqlserver://127.0.0.1:<instance_port>/Payroll