Comment connecter Android Studio avec base de données SQL Server?

Nous sommes actuellement en train d'avoir le même problème qu'ici: Comment connecter Android Studio avec base de données SQL Server, mais il n'a pas été répondu.

Nous avons également réussi la connexion sur Eclipse, à l'aide de la sqljdb4.jar fichier, nous avons essayé sur android le même code que dans Eclipse, mais il ne fonctionne que sur Eclipse.

Nous avons également essayé avec un autre pilote, jtds1.3.1.jar, mais il ne fonctionne pas non plus

Nous avons remplacé le login et le mot de passe par x et y 😉

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_flux_sequence);

    String url = "jdbc:jtdc:sqlserver://vps342074.ovh.net/IZY309";
    //String url = "jdbc:jtdc:sqlserver://vps342074.ovh.net/MSSQLSERVER;databaseName=IZY309";
    //String url = "jdbc:sqlserver://vps342074.ovh.net\\MSSQLSERVER;databaseName=IZY309";
    String user = "x";
    String pass = "y";

    try {
        //TextView textViewToChange = (TextView) findViewById(R.id.textViewCol5);
        //textViewToChange.setText("Hello");
        Class.forName("net.sourceforge.jtds.jdbc.Driver");
        Connection con = DriverManager.getConnection(url, user, pass);

        Statement statement = con.createStatement();
        ResultSet resultat = statement.executeQuery("SELECT CATEGORIE FROM dbo.PPROFIL WHERE CATEGORIE = 'ac' ");
        while (resultat.next()) {

            String result = resultat.getString(1);
            TextView textViewToChange = (TextView) findViewById(R.id.textViewCol5);
            textViewToChange.setText(result);
            Log.d("My Custom Tag", result);


        }resultat.close();
        statement.close();
    } catch (SQLException e) {
    //TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

private static void close(Connection con) {
    //TODO Auto-generated method stub
    close(con);

}

Voici le retour des erreurs :

W/System.err: java.sql.SQLException: No suitable driver
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:186)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:213)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at 
com.example.gaetan.fluxsequence.flux_sequence.onCreate(flux_sequence.java:32)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.Activity.performCreate(Activity.java:6876)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.ActivityThread.access$1100(ActivityThread.java:222)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.os.Looper.loop(Looper.java:158)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7229)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
02-15 14:34:01.896 4180-4180/com.example.gaetan.fluxsequence W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
  • comment exactement tout ce que vous avez essayé ne fonctionne pas? Il se bloque? donne des exceptions? Si elle le fait, où est l'exception stacktrace?
  • Votre URL est de format incorrect. La bonne devrait être String url = "jdbc:jtds:sqlserver://[SERVER_ADDRESS]/[DB_NAME]";
  • Merci pour votre aide! @Prerak Sola : Cette syntaxe ne change pas quelque chose que nous pensons, mais nous avons les erreurs suivantes pour commencer (@Vlad Matvienko) : W/Système.erreur: java.sql.SQLException: Aucun pilote approprié 02-15 14:34:01.896 4180-4180/com.exemple.gaetan.fluxsequence W/Système.err: à java.sql.DriverManager.getConnection(DriverManager.java:186) 02-15 14:34:01.896 4180-4180/com.exemple.gaetan.fluxsequence W/Système.err: à java.sql.DriverManager.getConnection(DriverManager.java:213) 02-15 14:34:01.896 4180-4180/com.exemple.gaetan.fluxsequence avez-vous quelques conseils?
  • Il vous manque le jtds partie de l'URL qui spécifie le pilote. Il ne fonctionne pas sans. Aussi je ne vois pas dans le code quoi que ce soit concernant le pilote de l'inscription, quelque chose comme Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();.
  • Nous venons d'ajouter le retour des erreurs dans le post. Si vous voyez d'autres problèmes. Lorsque nous ajoutons de votre ligne de la "essayer" de la boucle, il renvoie un unhanded exception : java.lang.ClassNotFoundException Qu'en pensez-vous? Que vous, vraiment
  • Le principal problème est que Android Studio retourne "ne convient pas de pilote"...
  • Essayez de supprimer le newInstance() partie.
  • Aussi qu'est-ce que votre serveur de base de données d'URL?
  • Il retourne la même erreur non gérée quand on enlève le newInstance() de la partie. Et notre serveur de base de données d'URL est : vps342074.ovh.net

InformationsquelleAutor mhyeah | 2017-02-15