因此,我在项目的构建路径中添加了MySQL Connector / J 5.1.16。我正在使用默认的OSX Java软件包和MAMP Pro 1.9.4,以及MySQL 5.1.44和Eclipse。
我用以下功能设置了一个简单的Java应用程序:
private static String dbUrl = "jdbc:mysql://127.0.0.1:3306/mpp"; private static String dbUsername = "root"; private static String dbPassword = "root"; private Statement statement = null; private void dbConnect() { try { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword); statement = connection.createStatement(); } catch(SQLException e) { System.err.print(e.getMessage() + " ARGH!"); } catch(Exception e) { System.err.print(e.getMessage() + " FUUUUUUUUUU!"); } }
当我运行它时,出现以下错误:
Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. ARGH!
我用谷歌搜索了大约一个小时,没有成功。有想法该怎么解决这个吗?JDBC驱动程序应该很好,我对此进行了测试。
编辑
我尝试通过控制台运行
SnowCave:src stefanschipor$ java -cp $CLASSPATH test
我得到与上面相同的输出
好,这只是愚蠢的。:)
您已打开MAMP,转到服务器> MySQL,然后取消选中默认情况下选中的“仅允许本地访问”。这很奇怪,因为我的工作是本地的,但是无论如何…
我的程序似乎正常工作,@ JamesA建议的命令也产生了预期的输出!
晕!