.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を実行できるので便利。

コメント