JDBC MYSQL Соединение без указания базы данных? - PullRequest
1 голос
/ 16 июня 2011

Я использую клиент MySQL SphinxQL, который хранит индексы в виде «таблиц», но не имеет реального понятия «база данных» ... Один указывает порт (9306 в моем случае), на котором экземпляр sphinx mysql слушает и теоретически должен быть в состоянии общаться как обычно.

У меня есть следующий тестовый код:

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 ]

2 голосов
/ 16 июня 2011

Эта работа с 1.10-бета http://www.olegsmith.com/2010/12/scalalift-sphinxql.html и не работает с 2.0.1-бета. Используйте mysql-connector-java 5.1.15.

0 голосов
/ 16 июня 2011

Ваш экземпляр SphinxQL прослушивает порт 9306. MySQL прослушивает другой порт, вероятно, по умолчанию 3306. Вы можете использовать драйвер JDBC MySQL для подключения к MySQL, но не можете использовать его для подключения к SphinxQL.Он просто не понимает протокол связи драйвера JDBC.

...