JDBC MYSQL连接没有指定数据库?

时间:2011-06-16 12:17:45

标签: java mysql jdbc sphinx port

我正在使用SphinxQL MySQL客户端,它将索引存储为“表”但没有真正的“数据库”概念...一个指定了sphinx mysql实例侦听的端口(在我的情况下为9306)应该能够正常沟通。

我有以下测试代码:

import java.sql.*;

public class Dbtest {
    public static void main (String[] args) {

    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:9306",
                         "user","password");
        con.setReadOnly(true);
        Statement stmt = con.createStatement();    
        ResultSet res = stmt.executeQuery("SELECT * from index_turned_table");

        while (res.next()) {
            String stuff1 = res.getString(1);
            String stuff2 = res.getString(2);
            System.out.println("Adding " + stuff1);
            System.out.println("Adding " + stuff2);    
        }

        res.close();
        stmt.close();
        con.close();
    }
    catch(Exception e)
    {
        System.out.println (e);
    }
}

执行时,代码只会挂起并不执行任何操作,也不会打印出异常。我可以做些什么来解决这个问题,或者是否有人可以直接体验可能发生的事情?

2 个答案:

答案 0 :(得分:2)

这项工作与1.10-beta http://www.olegsmith.com/2010/12/scalalift-sphinxql.html 而不适用于2.0.1-beta。使用mysql-connector-java 5.1.15。

答案 1 :(得分:0)

您的SphinxQL实例正在侦听端口9306.您的MySQL正在侦听其他端口,可能在默认3306上。您可以使用MySQL JDBC驱动程序连接到MySQL,但您无法使用它连接到SphinxQL。它只是不了解JDBC驱动程序通信协议。