gpt4 book ai didi

.net - 使用 oracle (.Net Connector) 描述查询

转载 作者:行者123 更新时间:2023-12-04 07:07:47 26 4
gpt4 key购买 nike

我正在使用 Oracle Express Edition,我想在我的程序(.Net C#、Microsoft oracle 连接器)中以编程方式获取表信息(列名、类型、大小等)。

在 SqlPlus 中,当我给出命令“desc ”时,它可以完美运行并打印有关表的所有信息。

现在我想以编程方式进行。我试图给出查询“desc ”但它失败了。然后我在某处读到 desc 是一个存储过程,我们必须将它称为存储过程,然后我尝试了以下代码,但失败并出现错误,

代码 1

private OracleDataReader OracleDescribe(string tablename)
{
OracleCommand cmd = new OracleCommand("describe " + tablename, OracleConn);
return cmd.ExecuteReader();
}

错误 1
Invalid SQL Statement

代码 2
private OracleDataReader OracleDescribe(string tablename)
{
OracleCommand cmd = new OracleCommand("describe", OracleConn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("table", OracleType.VarChar).Value = tablename;
return cmd.ExecuteReader();
}

错误 2
Encountered the symbol ">" when expecting one of the following: (

最佳答案

在系统的元数据 View /表上使用查询。例如。:

SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, 
DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT, CHAR_LENGTH
FROM ALL_TAB_COLUMNS
WHERE OWNER='SCOTT' AND TABLE_NAME IN ('EMP', 'DEPT')
ORDER BY TABLE_NAME ASC, COLUMN_ID ASC

您还可以查看 DbConnection 上的 GetSchema 方法(如果您使用的是 .NET 2.0 或更高版本,推荐),并检查 MSDN 中定义的特定 View 。

关于.net - 使用 oracle (.Net Connector) 描述查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com