如何在C#中显示oracle的所有模式

本文关键字:模式 oracle 显示 | 更新日期: 2023-09-27 18:26:18

我想在oracle中检索所有模式并在组合框中显示。

我一直在研究,知道我可以通过GetSchema()进行检索。

DataTable table = connection.GetSchema();

我不知道如何将模式包括在列表中。

List<string> list = new List<string>();
return list;

请帮忙!

如何在C#中显示oracle的所有模式

请参阅获取Oracle架构

由于驱动程序或权限的原因,GetSchema()可能无法工作,但该链接上的信息应该使用

祝好运

我尝试过从dba_objects中检索不同的所有者。

//Show schemas within a server, return a list of string
    public override List<string> showSchema()
    {
        string retrieveSchema = "select distinct owner from dba_objects;";
        List<string> list = new List<string>();
        if (this.OpenConnection() == true)
        {
            //Create Command
            OracleCommand cmd = new OracleCommand(retrieveSchema, conn);
            Console.WriteLine("State: " + conn.State);
            try
            {
                //Create a data reader and Execute the command
                OracleDataReader drOracle = cmd.ExecuteReader();
                //Read the data and store them in the list
                while (drOracle.Read())
                {
                    list.Add(drOracle.GetOracleValue(0).ToString() + "");
                }
                //close Data Reader
                drOracle.Close();
                //close Connection
                this.CloseConnection();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Console.WriteLine("State: " + conn.State);
            }
        }
        //return list to be displayed
        return list;
    }

我可以运行sql查询,但当添加到我的代码中时,它会出现ora-00911:无效字符错误。