Aller au contenu

Connexion à un serveur MySql


Recommended Posts

Posté(e)

Bonjour à tous,

Voilà mon problème. J'essaye de me connecter à ma base de données MySql via JDBC. Je sais que c'est pas top de faire directement appli -------- BD sans couche au milieu, mais avant d'aller plus loin j'aimerais effectuer cette connexion.

Ce que j'ai pour l'instant : une classe de connexion BD, qui charge le driver et tente d'effectuer la connexion (testée dans un projet autre qu'android, ça marche).

Le constructeur est comme suit :

//if the connection doesn't exist
		if (conn == null){				

			properties = prop;				
			DB_driver = properties.getProperty("DBdriver");
			DB_login = properties.getProperty("DBlogin");
			DB_type = properties.getProperty("DBtype");
			DB_address = properties.getProperty("DBaddress");
			DB_password = properties.getProperty("DBpassword");
			// We load the driver then we try to connect
			loadDriver();
			conn = connect();
		}

La méthode connect :

private Connection connect() throws SQLException {


	String url = "jdbc:"+DB_type+":"+DB_address;			

	[b]Connection conn = DriverManager.getConnection(url, DB_login,DB_password);[/b]		

    return conn;		
}

ça plante dans la méthode connect(), à la ligne en gras (alors que ça marche parfaitement hors android).

Voici le logcat correspondant à l'erreur (warnings en fait, les erreurs viennent après) :

03-05 17:26:17.736: WARN/dalvikvm(726): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)

03-05 17:26:17.746: ERROR/dalvikvm(726): Could not find method javax.naming.Reference.get, referenced from method com.mysql.jdbc.ConnectionProperties$ConnectionProperty.initializeFrom

03-05 17:26:17.746: WARN/dalvikvm(726): VFY: unable to resolve virtual method 3838: Ljavax/naming/Reference;.get (Ljava/lang/String;)Ljavax/naming/RefAddr;

03-05 17:26:17.756: WARN/dalvikvm(726): VFY: rejecting opcode 0x6e at 0x0004

03-05 17:26:17.756: WARN/dalvikvm(726): VFY: rejected Lcom/mysql/jdbc/ConnectionProperties$ConnectionProperty;.initializeFrom (Ljavax/naming/Reference;)V

03-05 17:26:17.756: WARN/dalvikvm(726): Verifier rejected class Lcom/mysql/jdbc/ConnectionProperties$ConnectionProperty;

03-05 17:26:17.768: WARN/dalvikvm(726): Unable to match class for part: 'Lcom/mysql/jdbc/ConnectionProperties$BooleanConnectionProperty;'

03-05 17:26:17.777: WARN/dalvikvm(726): Exception Ljava/lang/RuntimeException; thrown during Lcom/mysql/jdbc/ConnectionProperties;.<clinit>

03-05 17:26:17.777: DEBUG/AndroidRuntime(726): Shutting down VM

03-05 17:26:17.787: WARN/dalvikvm(726): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)

03-05 17:26:17.787: ERROR/AndroidRuntime(726): Uncaught handler: thread main exiting due to uncaught exception

03-05 17:26:17.916: DEBUG/dalvikvm(726): GC freed 4510 objects / 318880 bytes in 106ms

03-05 17:26:17.926: ERROR/AndroidRuntime(726): java.lang.ExceptionInInitializerError

03-05 17:26:17.926: ERROR/AndroidRuntime(726): at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)

03-05 17:26:17.926: ERROR/AndroidRuntime(726): at java.sql.DriverManager.getConnection(DriverManager.java:192)

(...)

Si vous avez ne serait-ce qu'un bout d'idée je suis preneur !

Posté(e)

Android ne contient pas toutes les classes J2SE.

Par ailleurs, je pense que c'est une mauvaise idée d'établir une connexion mysql directement sur ton téléphone...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...