我有一个奇怪的问题。 我在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:无法初始化驱动程序属性 java.lang.IllegalAccessException:Class com.google.appengine.tools.development.agent.runtime.Runtime不能 访问类com.mysql.jdbc.ConnectionPropertiesImpl的成员 修饰语“私人”
我不知道它是什么。 有人能帮助我吗?
问候。
答案 0 :(得分:0)
最重要的是你的代码非常混乱。良好的编码实践存在许多违规行为。
从你所包含的代码中,这一行永远不会被执行:
con = DriverManager.getConnection( url,"root", "");
因此没有与您的数据库的连接。您的例外是否表明此行
Statement st = con.createStatement();
是问题吗?
答案 1 :(得分:0)
我在jre1.7.0_25上遇到了同样的问题。 我通过升级到jre1.7.0_45解决了这个问题。