1

私は奇妙な問題を抱えています。AppEngine で GWT を使用しており、MySql に接続する RPC を作成したいと考えています。一日中、私はそれに座っています.. これは私のRPCメソッドの実装です:

java.sql.Connection con = null;
    public DataBaseServiceImpl() {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.print("bladd..");
            e.printStackTrace();
        }

     String url ="jdbc:mysql://localhost:8806/base";
     try {
        con = DriverManager.getConnection( url,"root", "");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    }
    @Override
    public ArrayList<String[]> getTables(int idUser) throws SQLException {

         Statement st =  con.createStatement();
         ResultSet retrive = st.executeQuery("query");
         ArrayList<String[]> result = new ArrayList<String[]>();
         while(retrive.next())
         {
             String[] s = new String[2];
             int theInt= retrive.getInt("ID__TABLE");
             String str = retrive.getString("LABEL");
             s[0]=Integer.toString(theInt);
             s[1]=str;
             result.add(s);
         }
        return result;
    }

そして、私はこのエラーがあります:

java.sql.SQLException: Unable to initialize driver properties due to java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime can't access a member of class com.mysql.jdbc.ConnectionPropertiesImpl with修飾子「プライベート」

私はそれが何であるか分かりません。誰かが私を助けることができますか?

よろしく。

4

2 に答える 2

0

肝心な点は、本当に厄介なコードを持っているということです。適切なコーディング プラクティスには多くの違反があります。

あなたが含めたコードから、この行は決して実行されません:

con = DriverManager.getConnection( url,"root", "");

したがって、データベースへの接続はありません。あなたの例外は、この行が

Statement st =  con.createStatement();

問題はありますか?

于 2013-07-10T13:56:32.923 に答える
0

jre1.7.0_25で同じ問題が発生しました。jre1.7.0_45にアップグレードすることで解決しました。

于 2014-01-03T07:32:56.310 に答える