CodeSmith无法获取Oracle表注释
如题:安装CodeSmith5.2版本,SQLServer没有任何问题,而Oracle就只能获取列的注释而不能获取表的注释,经过多方面查找资料后找到了一个最重要的解决方案,Sql语句,如下:
select * from user_tab_comments
这句Sql语句的作用就是查询系统中所有表的注释,而我们只需要加入条件就可以查询到注释,代码如下:
//获得表的注释,Oracle专用
public string GetTableDescription(){
string result="";
using (OracleConnection conn = new OracleConnection(this.SourceTable.Database.ConnectionString))
{
OracleCommand comm = new OracleCommand("select Comments from user_tab_comments where table_name='"+this.SourceTable.Name+"'", conn);
conn.Open();
result =Convert.ToString(comm.ExecuteScalar());
comm.Dispose();
conn.Close();
}
return result;
}
当然,如果直接这样CodeSmith会报错,然后我们需要在头部引用程序集和命名空间如下:
<%--下面是引用程序集 --%>
<%@ Assembly Name="System.Data.OracleClient" %>
<%--下面是引用命名空间 --%>
<%@ Import Namespace="System.Data.OracleClient" %>
走到这里就可以通过GetTableDescription()方法获得注释了。
注:SourceTable表示头部定义的表变量,如下:
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="选择数据库的一张表" %>
希望这份记录也能让急需解决该问题的你获得灵感。
CodeSmith无法获取Oracle表注释的更多相关文章
- 完美解决CodeSmith无法获取MySQL表及列Description说明注释的方案
问题描述: CodeSmith是现在比较实用的代码生成器,但是我们发现一个问题: 使用CodeSmith编写MySQL模板的时候,会发现一个问题:MySQL数据表中的列说明获取不到,也就是column ...
- 获取oracle 表字段,表名,以及主键之类等等的信息。
获取表名: Oracle的user_talbes用于记录了用户表信息. select * from user_tables 获取某个表的字段: USER_TAB_COLS中记录了用户表的列信息.下 ...
- 获取oracle 表字段,表名,以及主键之类等等的信息
数据库版本号:select * from v$version 数据库名:select * from v$instance 注意: 我在C#项目中查询语句的时候报“ORA-00911: 无效字符” 的错 ...
- PHP获取某个表与其他表的关联关系算法
如图 电影movie有多个附表,如果通过movie表来找出多个与之关联的表. 本算法规则: 外键写法必须是X_id; A与B 1对多关系,中间表表名必须是A_B,且A_B,必须包含A_id,B_id外 ...
- 批量获取oracle的表和表字段注释【原】
批量获取oracle的表和表字段注释 --用户表注释表 SELECT * FROM USER_TAB_COMMENTS WHERE TABLE_NAME LIKE 'WEB_ISC_%'; --显示指 ...
- oracle获取表字段及表注释的相关操作
一.获取表字段: select * from user_tab_columns where Table_Name='用户表' user_tab_columns 为当前用户的columns,除此之外还有 ...
- oracle中查看所有表和字段以及表注释字段注释
获取表:select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 selec ...
- Oracle中查看所有表和字段以及表注释.字段注释
获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 sele ...
- oracle 建表后添加表注释及字段注释
oracle添加表注释和表字段注释 创建Oracle数据库表时候加上注释 CREATE TABLE t1(id varchar2(32) primary key,name VARCHAR2(8) N ...
随机推荐
- MySQL实现SQL Server排名函数
最近在MySQL中遇到分组排序查询时,突然发现MySQL中没有row_number() over(partition by colname)这样的分组排序.并且由于MySQL中没有类似于SQL Ser ...
- SSM三层模型之间的参数传递
Controller接收各种形式的传参: RequestMapping()包含三部分信息: 表单传参: 1.表单action请求 1:参数名称和顺序都要和表单字段名称一致,直接接收(适合字 ...
- iPhone手机获取uuid 安装测试app
iPhone手机获取uuid 安装测试app UDID是一种iOS设备的特殊识别码.除序号之外,每台ios装置都另有一组独一无二的号码,我们就称之为识别码( Unique Device Identif ...
- CSS前叙
1 css是什么?层叠样式表,修饰网页结构2 如何去使用css?a.在html网页中,加入一个style标签,在这个style标签里面写css代码b.可以直接把style里面的代码放到一个单独的文件中 ...
- JUC原子类 1
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 2. 数组类型: AtomicI ...
- web前端----Bootstrap框架
Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 它支持响应式布局,并且 ...
- ES6学习--对象属性的遍历
ES6一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). (2)Object.keys(obj) Object. ...
- Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示
Eclipse中的工程引入jar包后没有整合到一个文件夹而是全部在根目录下显示 解决方案: 1,在Eclipse中,点击window-->Preferences-->Java-->B ...
- CP2102
1概述 CP2102其集成度高,内置USB2.0全速功能控制器.USB收发器.晶体振荡器.EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件.CP2102与 ...
- jQuery 源码分析:当 selector 传来一个函数时,怎么进行处理?
本文章为 0.9 版本,将会在稍后润色更新.本文使用的 jQuery 版本为 3.4.0 我们知道使用 $ 操作符时,可以往里面塞很多类型的参数,字符串,对象,函数...,jQuery 会根据不同的参 ...