2016-09-12 2 views
0

나는 안드로이드에서 Microsoft SQL 서버의 데이터베이스에 연결을 시도했습니다. 그러나 나는 그것을 할 수 없다. 도와주세요. 나는 많은 것을 시도했다. 나는 jtds를 사용하고 있었다. 1.3.1 또한 1.3.0 버전을 사용해 보았다. 그러나 여전히 실패했습니다. 도와주세요. 라인하지만 또 다른 오류가오고 위에서 : 나는 또한 (192.168.0.101:1033 같은) SQLEXPRESS을 제거하려고했습니다Error 안드로이드에서 MS SQL 데이터베이스에 연결

E/ERRO: Unknown server host name 'Host is unresolved: 192.168.0.101\SQLEXPRESS'.

:

public class ConnectionClass { 
String ip = "192.168.0.101\\SQLEXPRESS:1433"; 
String classs = "net.sourceforge.jtds.jdbc.Driver"; 
String db = "dictionary"; 
String un = ""; 
String password = ""; 

@SuppressLint("NewApi") 
public Connection CONN() { 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
      .permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    Connection conn = null; 
    String ConnURL = null; 
    try { 

     Class.forName(classs); 
     ConnURL = "jdbc:jtds:sqlserver://" + ip + ";" 
       + "databaseName=" + db + ";user=" + un + ";password=" 
       + password + ";"; 
     conn = DriverManager.getConnection(ConnURL); 
    } catch (SQLException se) { 
     Log.e("ERRO", se.getMessage()); 
    } catch (ClassNotFoundException e) { 
     Log.e("ERRO", e.getMessage()); 
    } catch (Exception e) { 
     Log.e("ERRO", e.getMessage()); 
    } 
    return conn; 
} 
} 

와 나는이 오류를 받고 있어요.

MS SQL에서 TCP/IP를 사용하도록 설정했으며 방화벽에서 포트 1433을 허용하고 방화벽에서 MS SQL을 허용했습니다. MS SQL의 허용 원격 연결도 확인됩니다.

도와주세요. 감사합니다 ..

+0

192.168.0.101 \ SQLEXPRESS, portnumber 시도해 볼 수 있습니까? – TheGameiswar

+0

모바일에서 데이터베이스에 직접 연결하지 않는 이유 : http://stackoverflow.com/questions/15853367/jdbc-vs-web-service-for-android –

+0

시도했습니다. 그러나 동일한 오류가 발생했습니다. @TheGameiswar –

답변

1

이것은 유효한 URL이 아닙니다. IP 만 사용하거나 scheme : // ip를 사용해야합니다. 그러나 휴대 기기의 DB에 직접 연결하는 것은 좋지 않습니다. 따라서 앱에 비밀번호가 있어야합니다. 즉, 앱을 사용하는 모든 사용자가 비밀번호에 액세스 할 수 있어야합니다. 대신 웹 서비스를 사용하고 보안을 위해서만 서버에 비밀번호를 보관하십시오.

또한 엄격 모드를 설정하지 마십시오. 첫째로 그것의 해킹. 두 번째로 모든 장치에서 작동하지 않습니다. 셋째, 필요한 경우 앱을 응답하지 않게하고 워치 독 타이머로 인해 충돌 할 가능성이 높습니다. 당신이 본 사이트는 그들이 무엇을하고 있는지를 모릅니다.

+0

이제 다음과 같은 오류가 발생합니다 : E/ERRO : Single-Sign-On은 Windows에서만 지원됩니다. 사용자 이름을 지정하십시오. –

+0

그러면 사용자 이름이 필요합니다. 여전히 모바일에서 직접 연결하는 것은 좋지 않지만 사용자 이름을 제공하면 제대로 작동합니다. –

+0

어떤 사용자 이름을 입력해야합니까? @ Gabe Sechan –

0

이 사실 주소가 아닌 '192.168.0.101 \ SQLEXPRESS : 1433' 그냥 같이 갈이 '192.168.0.101'

(때로는 서버의 IP를 볼 수 없습니다) 장치에 그것을 시도하지 마십시오, 먼저 '에뮬레이터'로 시도하십시오 또한 VirtualBox에서 네트워크 설정을 잊지 마십시오

관련 문제