1

我正在使用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 Server,但对 Oracle 很陌生。我也确实在寻找文档,但这次谷歌对这个细节没有太大帮助。

4

1 回答 1

2

Oracle9i Database Reference规定了 sql 语句长度的限制:

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

但是,11g 上的类似页面并未声明精确的限制:

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

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

类文档OracleCommand不会对CommandText长度引入任何例外或限制。

于 2013-03-20T11:14:25.863 回答