1

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

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

DataTable table = connection.GetSchema();

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

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

请帮忙!

4

2 回答 2

0

请参阅获取 Oracle 架构

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

祝你好运

于 2013-08-03T08:42:29.343 回答
0

我已经尝试从 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: invalid character 错误。

于 2013-08-03T08:59:25.010 回答