http://www.devart.com/dotconnect/oracle/articles/metadata.html
http://dcx.sybase.com/1101/en/dbprogramming_en11/ianywhere-data-sqlanywhere-saconnection-getschem6330755502-0.html

Oracle SQL Developer

Toad DBA Suite for Oracle

http://software.dell.com/products/toad-dba-suite-for-oracle/

Oracle SQL Developer

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

In this overload first parameter is name of a collection, and second
parameter is the array of restrictions to be applied when querying information.
Quantity of elements in the array must be less or equal to the value that is
returned by GetSchema() method in the second cell of the row that corresponds to
the collection name. (Or from the table below, which is much more handy.) If the
second argument is null (Nothing), the function behaves like the previous
overload (that takes a single parameter).
GetSchema Method Reference

Collection Name Number of restrictions Remarks
MetaDataCollections 0 Returns this list. Same as using GetSchema() method without parameters.
ReservedWords 0 Lists all reserved words used in the server.
Users 1 Lists all users on the server.
When restricted by username, returns
information about specific user.
Tables 2 GetSchema("Tables") Returns the list of all tables on the server that
you have access to.
The first restriction for this collection is name of a
schema. If specified, the method returns all tables within the schema.
The
second restriction is table name. Note that masks are not allowed in dotConnect
for Oracle.
Views 2 GetSchema("Views") Returns the list of all views on the server that you
have access to.
The first restriction for this collection is name of a
schema. If specified, the method returns all views within the schema.
The
second restriction is the name of the view.
Columns 3 Returns the list of columns, their type and some extra
information.
GetSchema("Columns") Returns the list of all columns in all
schemas of the table.
Restricted by schema name, the method returns all
columns in the specified schema.
The second restriction is name of a table
that GetSchema method should search in.
At last, you can specify column
name.
Indexes 4 Returns the list of indexes and their details.
The first restriction
is name of a schema the indexes belongs to.
The second restriction is name
of the index.
The third restriction is name of a table that uses the index.

The last restriction is name of schema the table belongs to.
IndexColumns 5 Returns information about columns included in indexes. The following
restrictions may be specified:
Name of the schema for indexes;
Index
name;
Name of the schema for tables;
Table name;
Column name.
Functions 2 Returns the list of functions on the server. The following restrictions
may be specified:
Schema name;
Function name.
Procedures 3 Returns the list of procedures on the server. The following restrictions
may be specified:
Schema name;
Package name;
Procedure name.
Arguments 4 Returns the list of procedure and function arguments. The following
restrictions may be specified:
Schema name;
Package name;
Procedure
name;
Argument name.
Synonyms 2 Returns the list of synonyms on the server. The following restrictions
may be specified:
Schema name;
Synonym name.
Sequences 2 Returns the list of sequences on the server. The following restrictions
may be specified:
Schema name;
Sequence name.
Packages 2 Returns the list of packages on the server. The following restrictions
may be specified:
Schema name;
Package name.
PackageBodies 2 Returns the list of package bodies on the server that you have access
to. The following restrictions may be specified:
Schema name;
Package
name.
ForeignKeys 3 Returns the list of foreign keys on the server. The following
restrictions may be specified:
Schema name;
Key name;
Table name.
ForeignKeyColumns 3 Returns the list of columns of foreign keys on the server. The following
restrictions may be specified:
Schema name;
Key name;
Table name.
Triggers 2 Returns the list of triggers on the server that you have access to. The
following restrictions may be specified:
Schema name;
Trigger name.
Clusters 2 Returns the list of clusters on the server that you have access to. The
following restrictions may be specified:
Schema name;
Cluster name.
TypeName ProviderDbType ColumnSize CreateFormat CreateParameters DataType
BFILE 1 4294967296 BFILE   System.Byte[]
BLOB 2 4294967296 BLOB   System.Byte[]
CHAR 3 2000 CHAR({0}) size System.String
CLOB 4 4294967296 CLOB   System.String
DATE 6 19 DATE   System.DateTime
FLOAT 29 38 FLOAT   System.Decimal
INTERVAL DAY TO SECOND 7 0 INTERVAL DAY({0}) TO SECOND({1}) dayprecision,secondsprecision System.TimeSpan
INTERVAL YEAR TO MONTH 8 0 INTERVAL YEAR({0}) TO MONTH yearprecision System.Int32
LONG 10 2147483647 LONG   System.String
LONG RAW 9 2147483647 LONG RAW   System.Byte[]
NCHAR 11 2000 NCHAR({0}) size System.String
NCLOB 12 4294967296 NCLOB   System.String
NUMBER 13 38 NUMBER ({0},{1}) precision,scale System.Decimal
NVARCHAR2 14 4000 NVARCHAR2({0}) size System.String
RAW 15 2000 RAW({0}) size System.Byte[]
ROWID 16 3950 ROWID   System.String
TIMESTAMP 18 27 TIMESTAMP({0}) precision of fractional seconds System.DateTime
TIMESTAMP WITH LOCAL TIME ZONE 19 27 TIMESTAMP({0} WITH LOCAL TIME ZONE) precision of fractional seconds System.DateTime
TIMESTAMP WITH TIME ZONE 20 34 TIMESTAMP({0} WITH TIME ZONE) precision of fractional seconds System.DateTime
VARCHAR2 22 4000 VARCHAR2({0}) size System.String
    /// <summary>
/// 对于本文的Oracle安装来说,data source对应着Oracle_Client\oracle\ora92\network\admin\tnsnames.ora配置文件中的网络服务名
/// Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = geovin)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = geovindu)));user id=sysdba;password=0214;Persist Security Info=True;";
/// 涂聚文 20150516
/// </summary>
public partial class Form1 : Form
{
public string connectionString = @"Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = geovistu-xwvuyh)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oracle9i)));user id=geovin;password=0214;Persist Security Info=True;";
/// <summary>
///
/// </summary>
/// <returns></returns>
DataTable setDatat()
{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Rows.Add(1, "Procedures");
dt.Rows.Add(2, "DataTypes");
dt.Rows.Add(3, "Foreign Keys");
dt.Rows.Add(4, "Databases");
dt.Rows.Add(5, "dbo");
dt.Rows.Add(6, "Arguments");
dt.Rows.Add(7, "Collection Name");
dt.Rows.Add(8, "DatasourceInformation");
dt.Rows.Add(9, "MetaDataCollections");
dt.Rows.Add(10, "ForeignKeyColumns");
dt.Rows.Add(11, "Functions");
dt.Rows.Add(12, "IndexColumns");
dt.Rows.Add(13, "Indexes");
dt.Rows.Add(14, "PrimaryKeys");
dt.Rows.Add(15, "ReservedWords");
dt.Rows.Add(16, "Restrictions");
dt.Rows.Add(17, "Triggers");
dt.Rows.Add(18, "UDFs");
dt.Rows.Add(19, "UniqueKeys");
dt.Rows.Add(20, "UserPrivileges");
dt.Rows.Add(21, "Users");
dt.Rows.Add(22, "ViewColumns"); //DataTable dt = connection.GetSchema("Tables", strRestricted);
dt.Rows.Add(23, "Tables");
dt.Rows.Add(24, "Columns");//表的列的详细,有主键TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,ORDINAL_POSITION,COLUMN_DEFAULT,IS_NULLABLE,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,NUMERIC_PRECISION,NUMERIC_SCALE,DATETIME_PRECISION,CHARACTER_SET_NAME,COLLATION_NAME,COLUMN_TYPE,COLUMN_KEY,EXTRA,PRIVILEGES,COLUMN_COMMENT
dt.Rows.Add(25, "Views");
dt.Rows.Add(26, "Indexes");//表的列
dt.Rows.Add(27, "IndexColumns");//主键 return dt;
}
/// <summary>
///
/// </summary>
public Form1()
{
InitializeComponent();
} /// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
this.txtConnection.Text = connectionString;
this.comboBox1.DataSource = setDatat();
this.comboBox1.DisplayMember = "name";
this.comboBox1.ValueMember = "id";
} /// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
//MessageBox.Show(connection.State.ToString());
DataTable dt = connection.GetSchema(this.comboBox1.Text.Trim());
this.dataGridView1.DataSource = dt;
this.textBox1.Text = GetColumnNames(dt); }
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
ex.Message.ToString();
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
string connString = "Provider=OraOLEDB.Oracle.1;User ID=geovin;Password=0214;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = geovistu-xwvuyh)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oracle9i)))";
OleDbConnection conn = new OleDbConnection(connString);
try
{
conn.Open();
//MessageBox.Show(conn.State.ToString());
DataTable dt = conn.GetSchema(this.comboBox1.Text.Trim());
this.dataGridView1.DataSource = dt;
this.textBox1.Text = GetColumnNames(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
}
}

  用

using Oracle.DataAccess.Client;

MetaDataCollections
DataSourceInformation
DataTypes
Restrictions
ReservedWords
Users
Tables
Columns
Views
Synonyms
Sequences
Functions
Procedures
Packages
PackageBodies
IndexColumns
Indexes
ProcedureParameters
Arguments
UniqueKeys
PrimaryKeys
ForeignKeys
ForeignKeyColumns
JavaClasses
XMLSchemas

Oracle Metadata的更多相关文章

  1. Oracle Metadata Management (OMM)元数据管理 12.2.1发布

    元数据管理元数据管理是解决大量关键业务和技术挑战的基础,这些挑战包括元数据实体有多少,上游数据变化的影响,在浏览器中提供友好的分析展现界面,或提供企业范围内的元数据现状分析和改进视图.OMM是一款基于 ...

  2. [Oracle][Metadata]如何查找与某一个功能相关的数据字典名

    当Oracel的一个新功能出来的时候,我们可能不知道所有与此功能关联的数据字典名称,那么如何才能得到这些 meta data 的 meta data 呢? 可以通过 dicitonary 来查看: 例 ...

  3. ssma for oracle

    SQL Server Migration Assistant (SSMA) for Oracle lets you quickly convert Oracle database schemas to ...

  4. 使用Microsoft SQL Server Migration Assistant for Oracle迁移数据库

    前言:使用Microsoft SQL Server Migration Assistant for Oracle迁移Oracle数据库到SqlServer数据库. 准备:Oracle11g.SqlSe ...

  5. Oracle ADF 开发必读

    MARK:http://www.oracle.com/technetwork/cn/articles/adf/index-086064-zhs.html 第 1 部分- 借助 Subversion 进 ...

  6. Oracle Enterprise Metadata Management (简称OEMM,Oracle元数据管理)12.1.3.0.1已经发布

    在数据处理及数据仓库建设中,元数据管理是必不可少的,OEMM可以解决元数据管理过程中各种关键业务问题和技术挑战,其中包括如何元数据的统计信息,了解变更数据之后对下游的影响范围,而且OEMM站在业务的角 ...

  7. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  8. Oracle导出excel

    oracle导出excel(非csv)的方法有两种,1.使用sqlplus  spool,2.使用包体 现将网上相关代码整理后贴出以备不时之需: 使用sqlplus: 使用sqlplus需要两个文件: ...

  9. MySQL 之 Metadata Locking 研究

    MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的.包括表结构.schem ...

随机推荐

  1. 把redhat源换成centos的,解决redhat未注册不能下载相关软件的问题

      修改 vim /etc/yum.repos.d/centos-base.repo如下,清华源地址为  https://mirrors.tuna.tsinghua.edu.cn/help/cento ...

  2. [总结帖] 后端MVC V.S. 前端MVVM

    Web编年史: Web1.0 —— 静态页面.简单预处理语言草案:PHP.JSP.ASP Web2.0 —— 企业级架构.一站式解决方案(MVC):J2EE.Spring.Asp.net Web2.5 ...

  3. leetcode-200-岛屿的个数(dfs找所有的连通分量)

    题目描述: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. 示例 ...

  4. 52.RocketMQ 事务

    今天的博客有点多,因为前几天一直用笔记录,今天都补上了.后面的博客先停一段时间,后面还有dubbo.storm.kafka.solor.nginx.keepalived.fastdfs等内容,只是因为 ...

  5. 用Yeoman构建AngularJS项目

    转至https://yq.aliyun.com/articles/25578 Yeoman 介绍 Yeoman 是 Google 的团队和外部贡献者团队合作开发的,他的目标是通过 Grunt(一个用于 ...

  6. js 的概念和声明-js 的变量-js 的运算符和逻辑结构-js 的数组

    js 的概念和声明Js的概念和声明:问题:在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效造成用户体验极差解决:使用JavaScript作用:可以让网页和用户之间进行直接简单的 ...

  7. 博客主题皮肤探索-主题的本地化和ChromeCacheView使用

    还有前言 用了大佬的主题之后,有些资源是无法在暴露的接口处更改的,需要自己去css更改.但后台给的都是压缩过的,找起来比较困难,所以特意记录了这篇. 本地资源替换 侧边栏: .introduce-bo ...

  8. 9. Javascript学习笔记——表单处理

    9. 表单处理 9.1 表单的基础知识 ///表单用 <form> 元素表示,对应的是 HTMLFormElement 类型,继承自 HTMLElement. //属性:action.me ...

  9. 群晖MyDS账号注册--实现使用QuickConnect外网访问

    最近公司拿了个NAS给我,让我把它配置好,之前没有接触过这个东西,上网一查,发现就是和去年很火的玩客云和斐讯天天链N1的功能一样,可以实现文件储存和文件共享. 设备型号:群晖DS214SE 系统版本: ...

  10. laravel5.4学习--laravel目录结构

    Laravel目录结构分析 app目录:主要是存放自己开发的应用代码(里面主要书写 控制器和模型和路由文件) bootstrap目录:laravel启动目录 config目录:主要是存放配置文件信息 ...