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;

このクラスは(バージョン "10.2.0.100")のOracle.DataAccess.Client名前空間にあり、これは Microsoft ではなく Oracle のものです。Oracle.DataAccess.dll私が学んだように、それはかなり古いものですが、必要がなければ変更するのは好きではありません。

私の懸念は、このクエリ文字列の最大長はありますか? そのクラスまたは基礎となるOracle Databaseによる制限はありますか?

注: 私は Microsoft SQL サーバーには精通していますが、Oracle についてはまったくの初心者です。また、ドキュメントを探しましたが、今回はこの詳細について Google はあまり役に立ちませんでした。

4

1 に答える 1

2

Oracle9i Database Referenceには、SQL ステートメントの長さの制限が記載されています。

最大 64 K。特定のツールでは、より低い制限が課される場合があります

ただし、 11g の同様のページでは、正確な制限は宣言されていません。

SQL ステートメントの長さの制限は、データベース構成、ディスク容量、メモリなど、多くの要因によって異なります。

10 および 11 のバージョンの Oracle データベースが 64k クエリをサポートしていると確信できます。

クラスのドキュメントでは、長さOracleCommandに関する例外や制約は導入されていません。CommandText

于 2013-03-20T11:14:25.863 に答える