2013-11-15 2 views
0

내가 JDBC를 통해 MySQL 서버 내 안드로이드 응용 프로그램을 연결하는 다음 코드를 실행하려고 : 내 프로젝트에서 jtds 라이브러리 1.2.7을 추가 한오류 연결

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; 
    } 
} 

을하고, 인터넷을 추가 권한, 그 결과는 Connection ConnectionNull입니다.

+0

* 어디에서 * 오류가 발생합니까? –

+0

URL이 잘못되었다고 생각합니다. –

+0

@rocking에 적합한 형식이 무엇입니까?, 호스트에 연결되어 있습니까? 또는 모두에게 같은 형식입니다! – Izzo32

답변

1

jTDS는 mysql이 아닌 MS SQL 서버에서 작동하는 데 사용됩니다. MySQL의 연결을 위해, 당신은 같은 것을 사용하는 것이 : jTDS를를 사용하여 MS SQL 서버에 연결하기위한

Class.forName("com.mysql.jdbc.Driver"); 
Connection conn = null; 
conn = DriverManager.getConnection`enter code here`("jdbc:mysql://hostname:port/dbname","username", "password") 

을, 당신은 포트 번호 및 인스턴스 이름으로 이런 짓을 할 것이다 :

jdbc:jtds:sqlserver://127.0.0.1:<instance_port>/Payroll 
+0

맞다.하지만 나는 이것을했다. 그러나 나는 URL에 문제가 있다고 생각한다. 다음과 같은 오류가 발생했습니다 : – Izzo32

+0

맞아요,하지만이 URL에 문제가있는 것 같아서 다음 오류가 발생합니다. 오류 연결 통신 링크 오류입니다. phpmyadmin을 사용하고 있는데 연결 문자열을 찾을 수 없습니다 : / – Izzo32