csharp: Oracle Metadata queries

简介: 数据类型表: TypeName ProviderDbType ColumnSize CreateFormat CreateParameters DataType BFILE 1 4294967296 BFILE   System.Byte[] BLOB 2 42

数据类型表:


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();
            }
        }



目录
相关文章
|
存储 Oracle 关系型数据库
csharp: Oracle Stored Procedure DAL using ODP.NET
Oracel sql: --书分类目录kind -- Geovin Du create table BookKindList ( BookKindID INT PRIMARY KEY, BookKindName nvarchar2(500) not null, BookKindParent INT null, BookKindCode varchar(100) -
1547 0
|
Oracle 关系型数据库 Linux
在oracle linux下使用yum安装报错:[Errno -1] Metadata file does not match checksum
遇到的情况 我的报错情况实在oraclelinux 64bit下安装oracle 11g的时候,使用yum安装必要工具的时候报错,我解决的办法是直接挂载光盘   具体情况: 在使用yuminstall –y gcc* 下...
1645 0
|
1月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
253 93
|
9天前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
|
3月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
183 8

热门文章

最新文章

推荐镜像

更多