我遇到同样的错误,折腾了好久才摸索出来。网上的解决办法都试过了,没有确实可行的。最终总结出来,终于解决了。
我的下载的是mysql-579绿色版出的问题。最终解决过程供你参考:
1、下载的mysql-579,出现你的问题。试了各种办法无法解决。有网友说mysql-579版本有问题。我改下载了5627版本,尝试不成功。但报错变为:无法启动mysql服务,发生错误1067。解决办法:myini 添加 tmpdir = D:\mysql-5627-winx64\data。问题解决。
2、后来我对比了mysql-579与5627,发现mysql-579-winx64没有data目录,mysql-5627-winx64\data\mysql,存了不少数据文件。原来调试579的版本时,记得日志报告一直有mysqluser、mysqlplugin不存在的提示。(原以为这些文件会自动生成)。后来把这个mysql-5627-winx64\data下的mysql文件夹整个复制到579版本中的同目录下。问题解决。
贴代码。
如果报错是:
Application did not close the cursor or database object that was opened。
那么你打开的cursor 或者 database 没有调用colse方法。
public class test {
private static ResultSet RSQ;
private static Connection CONN;
public static void main(String args[]) {
ConStr ns = new ConStr();
String sql1 = "select mnames,micard from mtest where mnames= and micard =";
String[] ars = { "1234567890", "zhangsan"};
RSQ = nsPreparedStatementSelect(RSQ, CONN, sql1, ars);
try {
if(RSQ != null){
while (RSQnext()) {
Systemoutprintln(RSQgetString(1) + "=>" + RSQgetString(2));
}
}
} catch (SQLException e) {
etoString();
}
nscloseResultSet(RSQ);
nscloseConnection(CONN);
Systemoutprintln("select ok!");
}
public class ConStr {
public Connection getConnection(){
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "XXX";
Connection con = null;;
try{
ClassforName("commysqljdbcDriver") ;
con = DriverManagergetConnection(url , username , password ) ;
}catch(Exception ex){
exprintStackTrace();
}
return con;
}
public ResultSet PreparedStatementSelect(ResultSet rs,Connection con, String sql,String[] args){
if(con == null){
con = getConnection();
}
try {
PreparedStatement pstmt = conprepareStatement(sql) ;
int arrLen = argslength, i;
for(i = 0; i < arrLen; i ++){
if(!ConStrisNumeric(args[i]) || args[i]length() > 3){
pstmtsetString(i+1, args[i]);
}else{
pstmtsetInt(i+1, IntegerparseInt(args[i]));
}
}
rs = pstmtexecuteQuery();
} catch (SQLException e) {
eprintStackTrace();
}
return rs;
}
public static boolean isNumeric(String str){
return false;
}
public void closeResultSet(ResultSet rs){
if(rs == null){
return;
}
try {
rsclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
public void closeConnection(Connection conn){
if(conn == null){
return;
}
try {
connclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
最常使用的数据库有以下几种:
1sqlserver:微软的数据库管理系统,小中大型应用都挺适合,很多网络游戏就是用的sqlserver作为数据库的。微软的东西向来比较傻瓜,一般稍微学习一下看看资料就能上手了。我觉得学校使用sqlserver是不错的选择。
2mysql:免费数据库管理系统,小巧实用,很多人在开始学习数据库编程时选择的就是mysql。由于免费,更新比较慢,而且不太适合大型应用。
3db2:见下面oracle的介绍
4oracle:和db2一样,主要面向企业级应用,可以说是目前市场上最优秀的数据库管理系统之一了。
5aess:这个就不用多解释了,个人网站或其它小型应用可以选用aess。
以上,希望对你有所帮助。
以上就是关于为什么安装mysql数据库报错全部的内容,包括:为什么安装mysql数据库报错、Android 访问数据库报错,什么原因、关于JAVA *** 作数据库报错的问题,谢谢大家帮忙等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)