Oracle Metadata
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的更多相关文章
- Oracle Metadata Management (OMM)元数据管理 12.2.1发布
元数据管理元数据管理是解决大量关键业务和技术挑战的基础,这些挑战包括元数据实体有多少,上游数据变化的影响,在浏览器中提供友好的分析展现界面,或提供企业范围内的元数据现状分析和改进视图.OMM是一款基于 ...
- [Oracle][Metadata]如何查找与某一个功能相关的数据字典名
当Oracel的一个新功能出来的时候,我们可能不知道所有与此功能关联的数据字典名称,那么如何才能得到这些 meta data 的 meta data 呢? 可以通过 dicitonary 来查看: 例 ...
- ssma for oracle
SQL Server Migration Assistant (SSMA) for Oracle lets you quickly convert Oracle database schemas to ...
- 使用Microsoft SQL Server Migration Assistant for Oracle迁移数据库
前言:使用Microsoft SQL Server Migration Assistant for Oracle迁移Oracle数据库到SqlServer数据库. 准备:Oracle11g.SqlSe ...
- Oracle ADF 开发必读
MARK:http://www.oracle.com/technetwork/cn/articles/adf/index-086064-zhs.html 第 1 部分- 借助 Subversion 进 ...
- Oracle Enterprise Metadata Management (简称OEMM,Oracle元数据管理)12.1.3.0.1已经发布
在数据处理及数据仓库建设中,元数据管理是必不可少的,OEMM可以解决元数据管理过程中各种关键业务问题和技术挑战,其中包括如何元数据的统计信息,了解变更数据之后对下游的影响范围,而且OEMM站在业务的角 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle导出excel
oracle导出excel(非csv)的方法有两种,1.使用sqlplus spool,2.使用包体 现将网上相关代码整理后贴出以备不时之需: 使用sqlplus: 使用sqlplus需要两个文件: ...
- MySQL 之 Metadata Locking 研究
MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的.包括表结构.schem ...
随机推荐
- django实战-留言板
对应github链接:https://github.com/pshyms/django/tree/master/liuyanban 第一天 1. 创建一个新项目后,新建一个应用程序 python ma ...
- Jmeter中一些概念的理解——90%响应时间、事务、并发
一.90%响应时间(参考虫师博客) 90%Line 一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90%的数将小于等于12 . 用在性能测试的响应时间,也就是90%请求 ...
- C语言多线程编程一
1. Windows下同时打开多个对话框: #include <Windows.h> #include <process.h> //创建线程 void runmsg(void ...
- POJ3460 Booksort(IDA*)
POJ3460 Booksort 题意:给定一个长度为n的序列,每次可以取出其中的一段数,插入任意一个位置,问最少需要几次操作才能使整个序列变为1~n 思路:IDA*+迭代加深搜索 小技巧:将一段数插 ...
- javasript 的DOM 节点操作:创建,插入,删除,复制以及查找节点
DOM 含义: DOM 是文档对象模型(Document Object Model) 是一种基于浏览器编程的一套API 接口,我W3C 出台推荐的标准.其赋予了JS 操作节点的能力,当网页被加载时,浏 ...
- shell-007:数据库备份,本地保留7天,远程机器保留一个月
## #!/bin/bash d1=`date +%w` # 以周几有变量 d2=`date +%d` # 以每月第几天为变量 local_bakdir=/bak/mysql # 本地备份目录 rem ...
- [转] org.scalatest.FunSuite Scala Examples - Scala FunSuite 测试的例子
[From] https://www.programcreek.com/scala/org.scalatest.FunSuite org.scalatest.FunSuite Scala Examp ...
- Mac下锁屏快捷键
▲先设置“进入眨眼或开始屏幕保护程序”选择”立即“要求输入密码. [系统编好设置]->[通用] ▲通过快捷键[shift+control+光驱键]或者[option+command+关机键]
- goahead3.6.3就基本使用(后台上传信息到html页面),高手请忽略
声明:这里面的代码均为网上找的然后有小小的改动,并非原创.但文章为原创 一..编译 1.1,.下载:进入http://embedthis.com/goahead/下载goahead3.6.3(2017 ...
- WPF解决当ScrollViewer中嵌套ItemsControl时,不能使用鼠标来滚动翻页
1. ScrollViewer:滚动条容器,当内容超过指定的长度和宽度后,就会出现滚动条,而且可以使用鼠标中键来滚动, 简单例子如下: <Window x:Class="Connect ...