IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Kotlin Discussion :

Erreur de connexion vers SQL Server via jtds


Sujet :

Kotlin

  1. #1
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut Erreur de connexion vers SQL Server via jtds
    Bonjour à tous j'utilise jtds pour établir des connexions vers une BDD SQL Server tout semble bien marcher sur l'émulateur, les requêtes d'insertion s'exécutent bien, mais sur mon appareil le compilateur renvoie une erreur de connexion:
    Network error IOException: Connection timed out
    Quelqu'un pourrait-il avoir une idée?

    Malgré que je ne soupçonne pas mon code je le poste quand même on en sait rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    class MainActivity : AppCompatActivity() {
     
     
     
     
        // Declaring layout button, edit texts
        var login: Button? = null
        var username: EditText? = null
        var password: EditText? = null
        var progressBar: ProgressBar? = null
        var email: EditText?=null
        var setUsrActive: CheckBox?=null
        // End Declaring layout button, edit texts
        // Declaring connection variables
        var con: Connection? = null
        var un: String? = null
        var pass: String? = null
        var db: String? = null
        var ip: String? = null
     
        //End Declaring connection variables
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
     
            // Getting values from button, texts and progress bar
            login = findViewById<View>(R.id.button) as Button
            username = findViewById<View>(R.id.txtUsername) as EditText
            password = findViewById<View>(R.id.txtPassword) as EditText
            progressBar = findViewById<View>(R.id.progressBar) as ProgressBar
            email= findViewById<View>(R.id.txtMail) as EditText
            setUsrActive=findViewById<View>(R.id.chkActive) as CheckBox
            // End Getting values from button, texts and progress bar
     
            // Declaring Server ip, username, database name and password
            ip = "172.23.26.81:1433"
            db = "MaBDD"
            un = "Utilisateur"
            pass = "MDP123"
            // Declaring Server ip, username, database name and password
     
            // Setting up the function when button login is clicked
            login!!.setOnClickListener {
                val checkLogin =  CheckLogin() // this is the Asynctask, which is used to process in background to reduce load on app process
                checkLogin.execute("")
            }
            //End Setting up the function when button login is clicked
        }
     
        inner class CheckLogin :
            AsyncTask<String?, String?, String?>() {
            private var z: String? = ""
            private var isSuccess = false
            override fun onPreExecute() {
                progressBar!!.visibility = View.GONE
     
     
            }
     
            override fun onPostExecute(r: String?) {
     
                val username = username!!.text.toString()
                val password = password!!.text.toString()
                val mail =email!!.text.toString()
                val usrIsActive=setUsrActive!!.isChecked
     
                if (username.trim { it <= ' ' } == "" || password.trim { it <= ' ' } == "")
                    Toast.makeText(this@MainActivity, "Please enter username and password.", Toast.LENGTH_LONG) .show()
                else {
     
                    try {
                        con = sqlAgent(un.toString(),pass.toString(),db.toString(), ip.toString()) // Connect to database
                        if (con == null) {
                            Toast.makeText(this@MainActivity, "Please check your network connections.", Toast.LENGTH_LONG) .show()
                        }
                        else
                        {
     
     
                            progressBar!!.visibility = View.VISIBLE
                            // Change below query according to your own database.
                            val query = "INSERT INTO [ArcgisData].[dbo].[tblUSERS] VALUES ('$username','$password','$mail','$usrIsActive')"
                            val stmt = con!!.createStatement()
                            stmt.executeUpdate(query)
                            progressBar!!.visibility = View.GONE
                            Toast.makeText(this@MainActivity, "User added successfully!", Toast.LENGTH_LONG) .show()
                        }
                    } catch (ex: Exception) {
                        Toast.makeText(this@MainActivity, ex.message, Toast.LENGTH_LONG) .show()
                    }
                }
     
            }
     
     
            override fun doInBackground(vararg p0: String?): String? {
     
                return null
            }
        }
     
        @SuppressLint("NewApi")
        fun sqlAgent(user: String, password: String, database: String, server: String): Connection? {
            val policy = StrictMode.ThreadPolicy.Builder().permitAll().build()
            StrictMode.setThreadPolicy(policy)
            var connection: Connection? = null
            var ConnectionURL: String?=null
            try {
    //            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") // To use Microsoft JDBC Driver
                Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance() // to use native Jtds Driver
     
    //            ConnectionURL="jdbc:sqlserver://$server;user=$user;password=$password" // Microsoft JDBC Connection URL
                ConnectionURL = "jdbc:jtds:sqlserver://$server;database=$database;user=$user;password=$password;" // Jtds Connection URL
     
                connection = DriverManager.getConnection(ConnectionURL)
            } catch (se: SQLException) {
                Log.e("error here 1 : ", se.message)
            } catch (e: ClassNotFoundException) {
                Log.e("error here 2 : ", e.message)
            } catch (e: Exception) {
                Log.e("error here 3 : ", e.message)
            }
            return connection
     
        }
    Merci.
    Entre la canne à pèche et le poisson c'est certainement la canne que je choisirais, puis apprendrais à m'en servir.
    Si on vous souffle une solution au complet c'est que vous n'auriez rien compris du problème.
    Consultez la , de forte chances que votre problème y figure et c'est plus vite que de poser une question et en attendre la réponse.
    FAQ Excel: http://excel.developpez.com/faq/

  2. #2
    Membre à l'essai
    Inscrit en
    septembre 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Bonjour tu dois modifier déjà dans la ConnectionString database par databaseName

Discussions similaires

  1. Gérer les erreurs de connexion ADO + SQL Server
    Par heart100 dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/01/2017, 15h51
  2. Erreur de connexion a sql server
    Par stylepidakss dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/06/2012, 18h56
  3. [SGBD] Connexion de Eclipse (Hibernate) vers SQL Server
    Par Michel38 dans le forum Hibernate
    Réponses: 4
    Dernier message: 11/03/2012, 17h39
  4. [JTDS] connexion à distance à SQL Server
    Par Michel38 dans le forum Hibernate
    Réponses: 2
    Dernier message: 09/01/2006, 19h15
  5. Réponses: 3
    Dernier message: 05/03/2003, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo