android studio下解决 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
最近把以前写的访问数据库的小项目拿出来重温,编译后发现连不上数据库了,提示错误:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
对应代码 con = DriverManager.getConnection(url,USER_NAME,PASSWORD)
这个错误在开发此项目时就与它搏斗过许久,解决途径通常有三种:
一:URL格式不对:见后面方正确 Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
二:驱动字符串出错(com.mysql.jdbc.Driver)
三:Classpath中没有加入合适的mysql_jdbc驱动
这个项目之前是运行正常的,且经过再次仔细检查,第一、二条都不是原因(第二条其实并不明白它在说啥,反正没用过),那么只有第三条了。
前段时间更新了java版本,是否与此有关?把sqljdbc4-3.0.jar和mysql-connector-java-6.0.5.jar放入本机当前java lib/ext路径下,在环境变量中更新class path 路径,又重启电脑与软件 ,然而结果无效:(。
反复翻阅尝试网上各贴,也没有解决问题。
最后回到项目本身,唯一区别之处似乎就是各解决方案中的项目编辑器大都是eclipse。而我的项目作为android app的配套服务器端软件,为了方便管理并与客户端共享部分对象,
是作为 一个project中android app并列的模块而建立,编辑器也是android studio。
查看android studio中的 External Libraries树,其使用的java 路径在这里:C:\Program Files\Android\Android Studio1\jre\
为什么Android Studio后面会有一个1呢,原来某次升级Android Studio的时候更换了一次路径,换到了Android Studio1下面。这个java路径下面并没有访问数据库需要的jar。
于是把把sqljdbc4-3.0.jar和mysql-connector-java-6.0.5.jar放入C:\Program Files\Android\Android Studio1\jre\jre\lib\ext。重启服务器软件,错误消失了:)。
至于原来为什么项目正常,也许以前也发现了问题所在,把jar放了进来,没有记录随后就忘了。这次记录下来,以备后来。