很多人在用myeclipse4.1.1对一个表生成映射文件的时候,都出现“generating artifacts"的问题。我也遇到了这个问题,弄得我也很郁闷!
看了很多人的帖子后还是无法搞定。最后通过查看.metadata\.log文件发现出现如下错误提示:
!ENTRY org.eclipse.core.runtime 4 2 2006-11-06 17:08:56.78
!MESSAGE An internal error occurred during: "Generating Artifacts".
!STACK 0
org.hibernate.exception.SQLGrammarException: Could not get list of tables from database. Probably a JDBC driver problem. 
Configured schema:null
Configured catalog:Default Catalog
Available schemas:
Available catalogs:
  information_schema
  ito
  libraryweb
  mysql
  schoolproject
  test

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65)
 at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:94)
 at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:395)
 at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:65)
 at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration$1.readDatabaseSchema(MEJDBCMetaDataConfiguration.java:102)
 at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:87)
 at com.genuitec.eclipse.hibernate.wizards.MEJDBCMetaDataConfiguration.readFromJDBC(MEJDBCMetaDataConfiguration.java:129)
 at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob$5.execute(GenerateArtifactsJob.java:405)
 at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
 at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:68)
 at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.buildConfiguration(GenerateArtifactsJob.java:400)
 at com.genuitec.eclipse.hibernate.wizards.GenerateArtifactsJob.run(GenerateArtifactsJob.java:266)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
Caused by: java.sql.SQLException: Syntax error or access violation,  message from server: "Unknown database 'default catalog'"
 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1876)
 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1098)
 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1192)
 at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1153)
 at com.mysql.jdbc.Connection.execSQL(Connection.java:2048)
 at com.mysql.jdbc.Connection.execSQL(Connection.java:2005)
 at com.mysql.jdbc.Statement.executeQuery(Statement.java:1156)
 at com.mysql.jdbc.DatabaseMetaData.getTables(DatabaseMetaData.java:3342)
 at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect.getTables(JDBCMetaDataDialect.java:70)
 ... 11 more

看来真是数据库驱动惹得祸。我的配置是:Eclipse3.1.2+MyEclipse4.1.1+MySQL5.0.12。数据库驱动用的是最新的mysql-connector-java-5.0.4-bin.jar。为什么还出现这样的问题,真是奇怪。
最后试着将DB-browser在连接时的配置页schema datails设置为dispaly all schema时然后再连接,结果就可以对表生成映射文件。
看来真是奇怪亚。
希望大家在遇到这个问题的时候,注意看一下eclipse\workspace\.metadata.metadata\.log文件,可以根据错误提示解决问题。

解决myeclipse4.1.1对一个表生成映射文件的时候,出现“generating artifacts"的解决!的更多相关文章

  1. mybatis-generator 根据表生成对应文件

    1 创建maven工程 2.编辑.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project ...

  2. 使用CodeSmith快速生成映射文件和映射类

    一 CodeSmith简介 本文以表自动生成NHibernate的映射文件和映射类的实例来说明一下本软件的使用方法. CodeSmith是一种基于模板的代码生成工具,其使用类似于ASP.NET的语法来 ...

  3. hibernate自动生成映射文件

    映射文件是O/R Mapping的关键,相当于控制中心.当数据库表较多时,手动配置该映射文件非常耗时.为了快速开发程序,使开发人员的注意力集中到业务逻辑上来,Hibernate官方提供的MiddleG ...

  4. hibernate 的映射文件快速生成:使用CodeSmith快速生成映射文件和映射类

    一 CodeSmith简介 本文以表自动生成NHibernate的映射文件和映射类的实例来说明一下本软件的使用方法. CodeSmith是一种基于模板的代码生成工具,其使用类似于ASP.NET的语法来 ...

  5. 在MyEclipse的Maven环境下,使用mybatis-generator插件自动生成映射文件(接口)及实体类

    在数据表比较多的情况下,手动编写sql映射文件和实体类,实在太多过繁琐,而mybatis-generator能自动生成这此东西,减少了重复性的工作量.mybatis-generator的配置容易出现问 ...

  6. 使用Mybatis Generator插件自动生成映射文件(cmd无法进入文件,dns服务器对区域没有权威等问题)遇到问题

           使用Mybatis Genertor插件自动生MyBatis所需要的DAO接口,实体模型类,Mapping映射文件,将生成的代码赋值到项目工程中即可.     有命令行,Eclipse插 ...

  7. mybatis 生成 映射文件生成工具 mybatisGenerator 使用

    第一:新建 generatorConfig.xml 文件 ,写入下面的 内容 <?xml version="1.0" encoding="UTF-8"?& ...

  8. oracle 根据一个表生成另一个新表和一个现有表给一个新的表赋值

    1,添加表B ,和A表表结构相同(带数据) create table B  as select * from A; 2,添加表B ,和A表表结构相同(不带带数据) create table B  as ...

  9. asp.net asp.net application 升级到 asp.net web 解决找不到控件 批量生成.designer文件

    颇费周折后,其实很简单,只需要生成designer文件后,重新保存所有页面即可.就是懒得写.懒真的是一种病,手上不能懒,脑子里更不能懒,否则就是给自己挖坑,仔细认真,注意细节!!!! PS:注意修改p ...

随机推荐

  1. wait(),notify(),notifyAll()用来操作线程为什么定义在Object类中?

    这些方法存在于同步中: 使用这些方法必须标识同步所属的锁: 锁可以是任意对象,所以任意对象调用方法一定定义在Object类中. Condition是在java 1.5中才出现的,它用来替代传统的Obj ...

  2. angular学习笔记(九)-css类和样式3

    再来看一个选择li列表的例子: 点击li中的任意项,被点击的li高亮显示: <!DOCTYPE html> <html ng-app> <head> <tit ...

  3. sudo apt-get update 时出现的hit、ign、get的含义

    hit,命中表示链接上这个网站 get获取表示有更新并且下载, ign忽略表示无更新或者更新无关紧要或者不需要,譬如某些插件系统已经有了或者语言翻译包

  4. Python 2.7.9 Demo - 015.元组的定义、取值、遍历

    #coding=utf-8 #!/usr/bin/python final_list = ('a', 1, 'b', 2, 'c', 3); print final_list[0]; print fi ...

  5. Object.defineProperty()属性设置介绍

    注释: 本文宅自https://segmentfault.com/a/1190000007434923,仅学习方便,没有任何商业用途 对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的 ...

  6. java 多线程阻塞队列 与 阻塞方法与和非阻塞方法

    Queue是什么 队列,是一种数据结构.除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的.无论使用哪种排序方式,队列的头都是调用remove()或poll()移 ...

  7. DOS下运行C++程序配置

    闲来无事,想想C++是否一样能用dos来,编译运行程序呢,于是上网搜搜结果喜人,详见 http://blog.csdn.net/xiaoqinpeng/article/details/6556843 ...

  8. 【Unity笔记】获得鼠标点击屏幕的位置,并转成世界坐标

    Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

  9. 利用AbstractRoutingDataSource实现动态数据源切换

    需求:系统中要实现切换数据库(业务数据库和his数据库) 网上很多资料上有提到AbstractRoutingDataSource,大致是这么说的 在Spring 2.0.1中引入了AbstractRo ...

  10. 内核模块module传参

    linux 2.6允许用户insmod的时候往内核模块里面传递参数,它主要使用module_param宏定义来实现这一功能. 参数应用 module_param(name, type, perm); ...