スポンサーリンク

.NET 6.0 で “ORA-00933: SQLコマンドが正しく終了されていません。”が発生する場合

.NET CoreC#Oracle

.Net Coreで、Dapper+Oracle.EntityFrameworkCore(or Oracle.ManagedDataAccess) NuGetパッケージを使い、OracleへSQLを発行する際、SQLをセミコロンで閉じていると、「ORA-00933: SQLコマンドが正しく終了されていません。」エラーが発生します。
SQLをセミコロンで閉じていても、SQLServer/PostgreSQLではエラーにならず、ORACLEだとエラーになるので、ORACLEを使い慣れていない人はハマる。

セミコロンで閉じたSQLを発行してExceptionが発生するケース

セミコロンで閉じていないSQLを発行し正常終了するケース

※Oracle.EntityFrameworkCore は Oracle.ManagedDataAccess と違い、ORACLE Client を別途インストールしなくても、OracleConnectionを実行できるので便利。

コメント

タイトルとURLをコピーしました