Google Cloud SQL - Ошибка подключения к локальной базе данных - GAE / J - PullRequest
0 голосов
/ 06 декабря 2011

Таким образом, Google Cloud SQL имеет удобную функцию, позволяющую подключаться к локальному экземпляру БД для локальной отладки, как описано здесь:

У меня есть следующие аргументы VM:

-Xmx512m -javaagent:C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811\appengine-java-sdk-1.4.2\lib\agent\appengine-agent.jar 
-Drdbms.server=local 
-Drdbms.driver=com.mysql.jdbc.Driver 
-Drdbms.url=jdbc:mysql://localhost:3306/testdb?user=root&password=pass

Я поместил драйвер msql в C: \ eclipse \ plugins \ com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811 \ appengine-java-sdk-1.4.2 \ lib \ impl папку и добавил его в путь к классу.

Однако при выполнении простого запроса SELECT (и он прекрасно работает при развертывании в GAE) он выбрасывает следующее исключение.

java.sql.SQLException: Table not found in statement [SELECT * FROM SOME_TABLE] 

Вот фрагмент кода обидчика:

            Connection c = null;
            try {
                    DriverManager.registerDriver(new AppEngineDriver());
                    c = DriverManager.getConnection(MY GOOGLE CLOUD SQL CXN STRING);
                    PreparedStatement ps = c.prepareStatement("SELECT * FROM SOME_TABLE");

                    ResultSet rs = ps.executeQuery(); 
    } catch (SQLException e) {
        e.printStackTrace();
            }

Я подозреваю, что он не понимает, что должен подключаться локально, что мне проверять?

1 Ответ

0 голосов
/ 20 декабря 2011

Просто чтобы отметить это как ответ: решение, предоставленное Дейвом В. Смитом выше

Из комментария Дейва В. Смита:

Я не знаю, насколько это важно дляпроблема под рукой, но 1.4.2 довольно устарела.

...