`

MySql驱动通过元数据无法取得表注释

    博客分类:
  • JAVA
阅读更多

今天需要读取MySql的一个表格的注释,看到通过元数据可以读取,进行了测试代码,就是读取不出来,值为空,但是查看元数据表TABLES中的TABLE_COMMENT字段值是存在的,感觉异常奇怪,本来是在eclipse的插件中进行读取,难道需要自己手动编写读取代码?真是郁闷啊

    然后下载了Mysql的驱动源程序进行了代码的查询,发现他根本就不会读取注释字段,他所有的元数据表信息中的信息都来源于SHOW FULL TABLES FROM这个语句,这个语句只提供了二列数据

| Tables_in_pf       | Table_type |

也就是表明和表的类型

他在代码生命取得数据的时候已经将表注释长度设置成0了,所有根本无法从驱动的元数据中读取到表格的注释信息

  fields[0] = new Field("", "TABLE_CAT", java.sql.Types.VARCHAR, 255);
  fields[1] = new Field("", "TABLE_SCHEM", java.sql.Types.VARCHAR, 0);
  fields[2] = new Field("", "TABLE_NAME", java.sql.Types.VARCHAR, 255);
  fields[3] = new Field("", "TABLE_TYPE", java.sql.Types.VARCHAR, 5);
  fields[4] = new Field("", "REMARKS", java.sql.Types.VARCHAR, 0); ----存放注释的内容,长度为0

 

 

估计用的很少吧,这种需求都不能满足。

=====================

考虑到开发的需要,建立新里开发驱动,等到正式系统运行的时候采用正式的驱动程序,现在希望oracle的驱动可以读取到这个值。

扩展添加方法

 private byte[] getTableComment(String tableName,Connection conn){
  Statement st=null;
  ResultSet rs=null;
  String result="";
  try {
   st = conn.createStatement();
   rs = st.executeQuery("SELECT TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='"+tableName+"'");
   while(rs.next()){
    result = rs.getString(1);
    break;
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   try {
    if(rs!=null)rs.close();
    rs = null;
    if(st!=null)st.close();
    st=null;
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  return result.getBytes();
 }

经过测试程序读取,真的可以去到了

分享到:
评论

相关推荐

    解决CodeSmith 8.0生成mysql实体没有字段注释和表注释

    这些提供者是.NET组件,它们负责与数据库交互,获取表结构、字段信息,包括注释等元数据。 当遇到“生成mysql实体没有字段注释和表注释”的问题时,通常是由于CodeSmith内置的MySQLSchemaProvider未能正确处理或不...

    codesmith mysql 连接驱动

    这个DLL文件是Codesmith MySQL连接驱动的核心,它实现了对MySQL数据库的元数据查询,包括表、视图、字段、索引等信息的获取。其中,对注释的读取是通过特定的SQL查询语句实现的,这些查询语句会返回表和字段的`...

    CodeSmith 8.0 连接 MySql、Postgresql 无法获取注释问题

    对于MySQL和PostgreSQL,理解其数据库对象的元数据结构和注释存储方式,有助于更好地利用CodeSmith生成符合需求的代码。同时,保持软件的更新,及时修复已知问题,将有助于提高开发效率和代码质量。

    解决CodeSmith不能读取MySql数据库字段说明的问题

    如果驱动程序版本过旧或者不兼容,可能无法正确地获取到包含字段描述在内的完整元数据信息。 解决这个问题的第一步是检查MySql数据库的驱动程序。确保你已经安装了最新版的MySql.Data NuGet包,这将提供与MySql...

    DBMetadata数据库元数据

    本工具可用于数据库表和字段的查询,以及数据库元数据的进一步使用。 目前支持以下数据库(都能正确获取注释信息): Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) - 必须使用jtds驱动

    PowerDesigner逆向工程导入MYSQL数据库总结

    此时PowerDesigner将自动开始逆向工程过程,从数据库中读取表结构和其他元数据信息。 **步骤七:** 等待逆向工程过程完成,之后就可以在PowerDesigner中查看自动生成的数据模型图了。 #### 四、注意事项 - **操作...

    MySQL 2 DOC MySql转word

    这类工具通常会连接到MySQL服务器,读取数据库的元数据(如表信息、字段信息等),然后自动生成一份格式化的Word报告。安装"mysql-connector-odbc-5.1.10-win32.msi"可能是为了提供ODBC(Open Database Connectivity...

    用于数据库表和字段的查询以及数据库元数据的进一步使用的工具源码,数据库元数据 - 通用工具

    这个子项目也算是一个对DBMetadata-core的使用,通过上述工具获取元数据后,使用swing界面展示数据,并且可以通过查询来筛选符合要求的数据。 这个项目除了实现基本的表和字段查询外,还算是一个基于界面使用该工具...

    PowerDesigner反向工程 mysql

    点击“Execute”开始反向工程过程,PowerDesigner将读取MySQL数据库的元数据,并生成相应的表、字段、索引等模型元素。 6. **查看和编辑模型** 反向工程完成后,可以在PowerDesigner中查看生成的模型,对实体关系...

    MySQL 5.1中文手冊

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. ...

    MySQL 5.1参考手册

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. ...

    MySQL 5.1参考手册 (中文版)

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. ...

    MySQL 5.1参考手册中文版

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 ...

    MYSQL中文手册

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 ...

    MySQL 5.1官方简体中文参考手册

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 9/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 10.9. ...

    mysql5.1中文手册

    用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧...

    mysql官方中文参考手册

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. ...

    MySQL5.1参考手册官方简体中文版

    10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. ...

    修改mybatis-generator源码实现实体类字段上方加上数据库中填写的注释

    `mysql-connector-java-5.1.25-bin.jar`是MySQL的JDBC驱动,用于连接数据库获取元数据。`mybatis-3.2.7.jar`和`mybatis-generator-core-1.3.2.jar`分别是MyBatis框架和MBG的核心库,`command.txt`可能是运行MBG的...

Global site tag (gtag.js) - Google Analytics