用eclipse写代码。编译之前,先右键点击项目,选择Build Path->library->add external library, 到MySQL网站下载MySQL的Jdbc驱动,把它添加到项目里,否则会报错“error. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”。
具体的代码如下:
Driver.forClass(com.mysql.jdbc.Driver); Connection conn = DriverManager. getConnection(“jdbc:mysql://www.localhost.com:3306/my_database”, ”username”, “password”); Statement stat = null; ResultSet rs = null; try{ stat = conn.createStatement(); rs = stat.executeQuery(sql); } catch{ … } finally{ //close stat //close rs //close conn }
编译,运行,又出现错误:com.mysql.jdbc.<wbr>exceptions.jdbc4.CommunicationsException: Communications link fail。</wbr>
单步执行发现问题出在DriverManager.getConnection这一步,所以问题必定是数据库连接不对。网上搜索办法,有说把localhost用XXX.XXX.XXX.XXX来表示,有说把端口拿去试一试。均不成功。
继续搜索办法。我的主机是租用justhost公司的,查看他们的说明文档,找到问题了。原来他们禁止了陌生IP远程登陆数据库。于是登陆后台cPanel,找到数据库项目里的Remote MySQL的管理项。打开,把本机IP地址加入whitelist。再次运行程序,连接成功。