OracleCommand.CommandText中的查询文本是否有最大长度?

时间:2013-03-20 10:52:01

标签: c# sql oracle dataprovider

我使用OracleCommand类从C#查询Oracle数据库(版本9或10)。

String query = GetQuery(); //may produce quite lenghty queries...
OracleCommand command = connection.CreateCommand();
command.CommandText = query;
command.CommandType = CommandType.Text;

此类位于Oracle.DataAccess.Client(版本“10.2.0.100”)的Oracle.DataAccess.dll命名空间中,该命名空间来自Oracle,而不是Microsoft。据我所知,它已经很老了,但如果没有必要,我不想改变。

我担心的是,此查询字符串是否有最大长度?该类或底层Oracle数据库是否有限制?

注意:我熟悉Microsoft SQL服务器,但对Oracle来说却很新。 我也确实在寻找文档,但谷歌这次对这个细节没什么帮助。

1 个答案:

答案 0 :(得分:2)

Oracle9i Database Reference表示对sql语句长度的限制:

  
    最多64 K;特定工具可能会施加下限

  

Similar page on 11g并未声明精确限制:

  
    

SQL语句的长度限制取决于许多因素,包括数据库配置,磁盘空间和内存

  

我相信我们可以确定10和11版本的oracle数据库支持64k查询。

OracleCommand类的文档不会在CommandText长度上引入任何例外或约束。