我使用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来说却很新。 我也确实在寻找文档,但谷歌这次对这个细节没什么帮助。
答案 0 :(得分:2)
Oracle9i Database Reference表示对sql语句长度的限制:
最多64 K;特定工具可能会施加下限
Similar page on 11g并未声明精确限制:
SQL语句的长度限制取决于许多因素,包括数据库配置,磁盘空间和内存
我相信我们可以确定10和11版本的oracle数据库支持64k查询。
OracleCommand
类的文档不会在CommandText
长度上引入任何例外或约束。