错误连接空

时间:2013-11-15 16:00:58

标签: java android mysql jdbc jtds

我正在尝试执行以下代码,它通过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

1 个答案:

答案 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